mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed #23950 -- Prevented calling deconstruct on classes in MigrationWriter.
This commit is contained in:
@@ -340,3 +340,14 @@ class WriterTests(TestCase):
|
||||
fixed_offset_datetime = datetime.datetime(2014, 1, 1, 1, 1, tzinfo=FixedOffset(180))
|
||||
self.assertEqual(MigrationWriter.serialize_datetime(fixed_offset_datetime),
|
||||
"datetime.datetime(2013, 12, 31, 22, 1, tzinfo=utc)")
|
||||
|
||||
def test_deconstruct_class_arguments(self):
|
||||
# Yes, it doesn't make sense to use a class as a default for a
|
||||
# CharField. It does make sense for custom fields though, for example
|
||||
# an enumfield that takes the enum class as an argument.
|
||||
class DeconstructableInstances(object):
|
||||
def deconstruct(self):
|
||||
return ('DeconstructableInstances', [], {})
|
||||
|
||||
string = MigrationWriter.serialize(models.CharField(default=DeconstructableInstances))[0]
|
||||
self.assertEqual(string, "models.CharField(default=migrations.test_writer.DeconstructableInstances)")
|
||||
|
||||
Reference in New Issue
Block a user