Skip to content

Commit def97f0

Browse files
committed
Omit size=None from ArrayField.deconstruct()
1 parent 2f184a5 commit def97f0

File tree

4 files changed

+9
-13
lines changed

4 files changed

+9
-13
lines changed

django_mongodb_backend/fields/array.py

+3-6
Original file line numberDiff line numberDiff line change
@@ -124,12 +124,9 @@ def deconstruct(self):
124124
name, path, args, kwargs = super().deconstruct()
125125
if path == "django_mongodb_backend.fields.array.ArrayField":
126126
path = "django_mongodb_backend.fields.ArrayField"
127-
kwargs.update(
128-
{
129-
"base_field": self.base_field.clone(),
130-
"size": self.size,
131-
}
132-
)
127+
kwargs["base_field"] = self.base_field.clone()
128+
if self.size is not None:
129+
kwargs["size"] = self.size
133130
return name, path, args, kwargs
134131

135132
def to_python(self, value):

tests/model_fields_/array_default_migrations/0001_initial.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class Migration(migrations.Migration):
2121
),
2222
(
2323
"field",
24-
django_mongodb_backend.fields.ArrayField(models.IntegerField(), size=None),
24+
django_mongodb_backend.fields.ArrayField(models.IntegerField()),
2525
),
2626
],
2727
options={},

tests/model_fields_/array_default_migrations/0002_integerarraymodel_field_2.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@ class Migration(migrations.Migration):
1212
migrations.AddField(
1313
model_name="integerarraydefaultmodel",
1414
name="field_2",
15-
field=django_mongodb_backend.fields.ArrayField(
16-
models.IntegerField(), default=[], size=None
17-
),
15+
field=django_mongodb_backend.fields.ArrayField(models.IntegerField(), default=[]),
1816
preserve_default=False,
1917
),
2018
]

tests/model_fields_/test_arrayfield.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ class MyModel(models.Model):
8585
def test_deconstruct(self):
8686
field = ArrayField(models.IntegerField())
8787
name, path, args, kwargs = field.deconstruct()
88+
self.assertEqual(kwargs.keys(), {"base_field"})
8889
new = ArrayField(*args, **kwargs)
8990
self.assertEqual(type(new.base_field), type(field.base_field))
9091
self.assertIsNot(new.base_field, field.base_field)
@@ -722,7 +723,7 @@ class MigrationsTests(TransactionTestCase):
722723
)
723724
def test_adding_field_with_default(self):
724725
class IntegerArrayDefaultModel(models.Model):
725-
field = ArrayField(models.IntegerField(), size=None)
726+
field = ArrayField(models.IntegerField())
726727

727728
table_name = "model_fields__integerarraydefaultmodel"
728729
self.assertNotIn(table_name, connection.introspection.table_names(None))
@@ -734,8 +735,8 @@ class IntegerArrayDefaultModel(models.Model):
734735
call_command("migrate", "model_fields_", "0002", verbosity=0)
735736

736737
class UpdatedIntegerArrayDefaultModel(models.Model):
737-
field = ArrayField(models.IntegerField(), size=None)
738-
field_2 = ArrayField(models.IntegerField(), default=[], size=None)
738+
field = ArrayField(models.IntegerField())
739+
field_2 = ArrayField(models.IntegerField(), default=[])
739740

740741
class Meta:
741742
db_table = "model_fields__integerarraydefaultmodel"

0 commit comments

Comments
 (0)