diff --git a/model_bakery/generators.py b/model_bakery/generators.py index 159eb7b0..429e3fd8 100644 --- a/model_bakery/generators.py +++ b/model_bakery/generators.py @@ -20,7 +20,6 @@ IntegerField, IPAddressField, ManyToManyField, - NullBooleanField, OneToOneField, PositiveIntegerField, PositiveSmallIntegerField, @@ -87,6 +86,13 @@ CIEmailField = None CITextField = None +try: + # Deprecated since Django 3.1 + from django.db.models import NullBooleanField +except ImportError: + NullBooleanField = None + + try: # PostgreSQL-specific fields (only available when psycopg2 is installed) from django.contrib.postgres.fields.ranges import ( @@ -124,7 +130,6 @@ def gen_integer(): OneToOneField: random_gen.gen_related, ManyToManyField: random_gen.gen_m2m, BooleanField: random_gen.gen_boolean, - NullBooleanField: random_gen.gen_boolean, IntegerField: _make_integer_gen_by_range(IntegerField), BigIntegerField: _make_integer_gen_by_range(BigIntegerField), SmallIntegerField: _make_integer_gen_by_range(SmallIntegerField), @@ -185,6 +190,8 @@ def gen_integer(): default_mapping[DateRangeField] = random_gen.gen_date_range if DateTimeRangeField: default_mapping[DateTimeRangeField] = random_gen.gen_datetime_range +if NullBooleanField: + default_mapping[NullBooleanField] = random_gen.gen_boolean # Add GIS fields diff --git a/tests/generic/models.py b/tests/generic/models.py index eacbcacb..d299d0a0 100755 --- a/tests/generic/models.py +++ b/tests/generic/models.py @@ -228,7 +228,7 @@ def save(self, *args, **kwargs): class Classroom(models.Model): students = models.ManyToManyField(Person, null=True) - active = models.NullBooleanField() + active = models.BooleanField(null=True) class Store(models.Model):