diff options
| author | Baptiste Mispelon <bmispelon@gmail.com> | 2014-08-03 14:02:21 +0200 |
|---|---|---|
| committer | Baptiste Mispelon <bmispelon@gmail.com> | 2014-08-03 15:27:57 +0200 |
| commit | 0b1d0afc92e1dbc353418953960a083cbba63c50 (patch) | |
| tree | 9fe3410eedf64c593f757246b7a75003e90c5a26 | |
| parent | 2c5eee9f88e885742563e642ef7d6141af3b0dd0 (diff) | |
[1.7.x] Added missing logic to TimeField.deconstruct().
If auto_now or auto_now_add was used then the serialized
field in the migration contained unnecessary `editable` and
`blank` arguments.
Backport of 74325339327e5b8a2480aee7f482bc71f73c71f9 from master.
| -rw-r--r-- | django/db/models/fields/__init__.py | 3 | ||||
| -rw-r--r-- | tests/field_deconstruction/tests.py | 17 |
2 files changed, 20 insertions, 0 deletions
diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 1971882e22..824200aba3 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -1916,6 +1916,9 @@ class TimeField(Field): kwargs["auto_now"] = self.auto_now if self.auto_now_add is not False: kwargs["auto_now_add"] = self.auto_now_add + if self.auto_now or self.auto_now_add: + del kwargs['blank'] + del kwargs['editable'] return name, path, args, kwargs def get_internal_type(self): diff --git a/tests/field_deconstruction/tests.py b/tests/field_deconstruction/tests.py index 9a330b2998..cf699aeecd 100644 --- a/tests/field_deconstruction/tests.py +++ b/tests/field_deconstruction/tests.py @@ -336,6 +336,23 @@ class FieldDeconstructionTests(TestCase): self.assertEqual(args, []) self.assertEqual(kwargs, {}) + def test_time_field(self): + field = models.TimeField() + name, path, args, kwargs = field.deconstruct() + self.assertEqual(path, "django.db.models.TimeField") + self.assertEqual(args, []) + self.assertEqual(kwargs, {}) + + field = models.TimeField(auto_now=True) + name, path, args, kwargs = field.deconstruct() + self.assertEqual(args, []) + self.assertEqual(kwargs, {'auto_now': True}) + + field = models.TimeField(auto_now_add=True) + name, path, args, kwargs = field.deconstruct() + self.assertEqual(args, []) + self.assertEqual(kwargs, {'auto_now_add': True}) + def test_url_field(self): field = models.URLField() name, path, args, kwargs = field.deconstruct() |
