Commit 30a3c2f7 authored by Baptiste Mispelon's avatar Baptiste Mispelon
Browse files

Fixed #24566 -- Added support for serializing timedelta

Thanks to knbk for the report.
parent 0f941f57
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -351,6 +351,9 @@ class MigrationWriter(object):
            if isinstance(value, datetime_safe.time):
                value_repr = "datetime.%s" % value_repr
            return value_repr, {"import datetime"}
        # Timedeltas
        elif isinstance(value, datetime.timedelta):
            return repr(value), {"import datetime"}
        # Settings references
        elif isinstance(value, SettingsReference):
            return "settings.%s" % value.setting_name, {"from django.conf import settings"}
+2 −1
Original line number Diff line number Diff line
@@ -9,4 +9,5 @@ Django 1.8.1 fixes several bugs in 1.8.
Bugfixes
========

* ...
* Added support for serializing :class:`~datetime.timedelta` objects in
  migrations (:ticket:`24566`).
+4 −0
Original line number Diff line number Diff line
@@ -351,6 +351,10 @@ class WriterTests(TestCase):
        self.assertSerializedEqual(frozenset())
        self.assertSerializedEqual(frozenset("let it go"))

    def test_serialize_timedelta(self):
        self.assertSerializedEqual(datetime.timedelta())
        self.assertSerializedEqual(datetime.timedelta(minutes=42))

    def test_simple_migration(self):
        """
        Tests serializing a simple migration.