Fixed #36265 -- Added support for serialization of ZoneInfo instances in migrations.

This commit is contained in:
Song Junho 2025-03-29 18:49:12 +09:00 committed by Sarah Boyce
parent 02a5cbfe76
commit 126417be43
4 changed files with 28 additions and 0 deletions

View file

@ -612,6 +612,20 @@ class WriterTests(SimpleTestCase):
string = MigrationWriter.serialize(field)[0]
self.assertEqual(string, "models.FilePathField(path=%r)" % path_like.path)
def test_serialize_zoneinfo(self):
self.assertSerializedEqual(zoneinfo.ZoneInfo("Asia/Kolkata"))
self.assertSerializedResultEqual(
zoneinfo.ZoneInfo("Asia/Kolkata"),
(
"zoneinfo.ZoneInfo(key='Asia/Kolkata')",
{"import zoneinfo"},
),
)
self.assertSerializedResultEqual(
zoneinfo.ZoneInfo("Europe/Paris"),
("zoneinfo.ZoneInfo(key='Europe/Paris')", {"import zoneinfo"}),
)
def test_serialize_functions(self):
with self.assertRaisesMessage(ValueError, "Cannot serialize function: lambda"):
self.assertSerializedEqual(lambda x: 42)