mirror of
https://github.com/django/django.git
synced 2025-06-05 03:29:12 +00:00
Fixed #36276 -- Omitted size=None from ArrayField.deconstruct().
This commit is contained in:
parent
7164f08047
commit
fecca298a2
@ -134,12 +134,9 @@ class ArrayField(CheckFieldDefaultMixin, Field):
|
|||||||
name, path, args, kwargs = super().deconstruct()
|
name, path, args, kwargs = super().deconstruct()
|
||||||
if path == "django.contrib.postgres.fields.array.ArrayField":
|
if path == "django.contrib.postgres.fields.array.ArrayField":
|
||||||
path = "django.contrib.postgres.fields.ArrayField"
|
path = "django.contrib.postgres.fields.ArrayField"
|
||||||
kwargs.update(
|
kwargs["base_field"] = self.base_field.clone()
|
||||||
{
|
if self.size is not None:
|
||||||
"base_field": self.base_field.clone(),
|
kwargs["size"] = self.size
|
||||||
"size": self.size,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
return name, path, args, kwargs
|
return name, path, args, kwargs
|
||||||
|
|
||||||
def to_python(self, value):
|
def to_python(self, value):
|
||||||
|
@ -20,9 +20,7 @@ class Migration(migrations.Migration):
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
"field",
|
"field",
|
||||||
django.contrib.postgres.fields.ArrayField(
|
django.contrib.postgres.fields.ArrayField(models.IntegerField()),
|
||||||
models.IntegerField(), size=None
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
options={},
|
options={},
|
||||||
|
@ -12,7 +12,7 @@ class Migration(migrations.Migration):
|
|||||||
model_name="integerarraydefaultmodel",
|
model_name="integerarraydefaultmodel",
|
||||||
name="field_2",
|
name="field_2",
|
||||||
field=django.contrib.postgres.fields.ArrayField(
|
field=django.contrib.postgres.fields.ArrayField(
|
||||||
models.IntegerField(), default=[], size=None
|
models.IntegerField(), default=[]
|
||||||
),
|
),
|
||||||
preserve_default=False,
|
preserve_default=False,
|
||||||
),
|
),
|
||||||
|
@ -32,7 +32,7 @@ class Migration(migrations.Migration):
|
|||||||
primary_key=True,
|
primary_key=True,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
("field", ArrayField(models.CharField(max_length=10), size=None)),
|
("field", ArrayField(models.CharField(max_length=10))),
|
||||||
],
|
],
|
||||||
options={
|
options={
|
||||||
"required_db_vendor": "postgresql",
|
"required_db_vendor": "postgresql",
|
||||||
@ -51,9 +51,9 @@ class Migration(migrations.Migration):
|
|||||||
primary_key=True,
|
primary_key=True,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
("datetimes", ArrayField(models.DateTimeField(), size=None)),
|
("datetimes", ArrayField(models.DateTimeField())),
|
||||||
("dates", ArrayField(models.DateField(), size=None)),
|
("dates", ArrayField(models.DateField())),
|
||||||
("times", ArrayField(models.TimeField(), size=None)),
|
("times", ArrayField(models.TimeField())),
|
||||||
],
|
],
|
||||||
options={
|
options={
|
||||||
"required_db_vendor": "postgresql",
|
"required_db_vendor": "postgresql",
|
||||||
@ -94,21 +94,20 @@ class Migration(migrations.Migration):
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
"ips",
|
"ips",
|
||||||
ArrayField(models.GenericIPAddressField(), size=None, default=list),
|
ArrayField(models.GenericIPAddressField(), default=list),
|
||||||
),
|
),
|
||||||
("uuids", ArrayField(models.UUIDField(), size=None, default=list)),
|
("uuids", ArrayField(models.UUIDField(), default=list)),
|
||||||
(
|
(
|
||||||
"decimals",
|
"decimals",
|
||||||
ArrayField(
|
ArrayField(
|
||||||
models.DecimalField(max_digits=5, decimal_places=2),
|
models.DecimalField(max_digits=5, decimal_places=2),
|
||||||
size=None,
|
|
||||||
default=list,
|
default=list,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
("tags", ArrayField(TagField(), blank=True, null=True, size=None)),
|
("tags", ArrayField(TagField(), blank=True, null=True)),
|
||||||
(
|
(
|
||||||
"json",
|
"json",
|
||||||
ArrayField(models.JSONField(default=dict), default=list, size=None),
|
ArrayField(models.JSONField(default=dict), default=list),
|
||||||
),
|
),
|
||||||
("int_ranges", ArrayField(IntegerRangeField(), null=True, blank=True)),
|
("int_ranges", ArrayField(IntegerRangeField(), null=True, blank=True)),
|
||||||
(
|
(
|
||||||
@ -135,9 +134,7 @@ class Migration(migrations.Migration):
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
"field",
|
"field",
|
||||||
ArrayField(
|
ArrayField(models.IntegerField(), blank=True, default=list),
|
||||||
models.IntegerField(), blank=True, default=list, size=None
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
options={
|
options={
|
||||||
@ -159,7 +156,7 @@ class Migration(migrations.Migration):
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
"field",
|
"field",
|
||||||
ArrayField(ArrayField(models.IntegerField(), size=None), size=None),
|
ArrayField(ArrayField(models.IntegerField())),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
options={
|
options={
|
||||||
@ -203,15 +200,11 @@ class Migration(migrations.Migration):
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
"field",
|
"field",
|
||||||
ArrayField(models.IntegerField(), size=None, null=True, blank=True),
|
ArrayField(models.IntegerField(), null=True, blank=True),
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"field_nested",
|
"field_nested",
|
||||||
ArrayField(
|
ArrayField(ArrayField(models.IntegerField(null=True)), null=True),
|
||||||
ArrayField(models.IntegerField(null=True), size=None),
|
|
||||||
size=None,
|
|
||||||
null=True,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
("order", models.IntegerField(null=True)),
|
("order", models.IntegerField(null=True)),
|
||||||
],
|
],
|
||||||
@ -524,7 +517,7 @@ class Migration(migrations.Migration):
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
"array_of_enums",
|
"array_of_enums",
|
||||||
ArrayField(EnumField(max_length=20), size=None),
|
ArrayField(EnumField(max_length=20)),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
options={
|
options={
|
||||||
|
@ -923,6 +923,7 @@ class TestMigrations(TransactionTestCase):
|
|||||||
def test_deconstruct(self):
|
def test_deconstruct(self):
|
||||||
field = ArrayField(models.IntegerField())
|
field = ArrayField(models.IntegerField())
|
||||||
name, path, args, kwargs = field.deconstruct()
|
name, path, args, kwargs = field.deconstruct()
|
||||||
|
self.assertEqual(kwargs.keys(), {"base_field"})
|
||||||
new = ArrayField(*args, **kwargs)
|
new = ArrayField(*args, **kwargs)
|
||||||
self.assertEqual(type(new.base_field), type(field.base_field))
|
self.assertEqual(type(new.base_field), type(field.base_field))
|
||||||
self.assertIsNot(new.base_field, field.base_field)
|
self.assertIsNot(new.base_field, field.base_field)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user