summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLee Sanghyuck <shlee322@elab.kr>2014-08-19 22:23:29 +0900
committerTim Graham <timograham@gmail.com>2014-08-19 13:31:46 -0400
commit11d9cbe2f46583716aed4859f180a973bf2d5cf4 (patch)
tree2e43d79ccd298f33026712956aba58c24d56f117
parentad9ba9d27bc1ea441246c9e8803df41ca6b4a913 (diff)
Fixed #23316 -- Added datetime.time serialization in migrations.
-rw-r--r--AUTHORS1
-rw-r--r--django/db/migrations/writer.py4
-rw-r--r--docs/topics/migrations.txt2
-rw-r--r--tests/migrations/test_writer.py1
4 files changed, 7 insertions, 1 deletions
diff --git a/AUTHORS b/AUTHORS
index 279c1a4dd4..0df78dac54 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -545,6 +545,7 @@ answer newbie questions, and generally made Django that much better:
Bartolome Sanchez Salado <i42sasab@uco.es>
Nick Sandford <nick.sandford@gmail.com>
Mark Sandstrom <mark@deliciouslynerdy.com>
+ Lee Sanghyuck <shlee322@elab.kr>
Kadesarin Sanjek
Tim Saylor <tim.saylor@gmail.com>
Massimo Scamarcia <massimo.scamarcia@gmail.com>
diff --git a/django/db/migrations/writer.py b/django/db/migrations/writer.py
index 593bff902d..ac5da0953b 100644
--- a/django/db/migrations/writer.py
+++ b/django/db/migrations/writer.py
@@ -279,6 +279,10 @@ class MigrationWriter(object):
if isinstance(value, datetime_safe.date):
value_repr = "datetime.%s" % value_repr
return value_repr, set(["import datetime"])
+ # Times
+ elif isinstance(value, datetime.time):
+ value_repr = repr(value)
+ return value_repr, set(["import datetime"])
# Settings references
elif isinstance(value, SettingsReference):
return "settings.%s" % value.setting_name, set(["from django.conf import settings"])
diff --git a/docs/topics/migrations.txt b/docs/topics/migrations.txt
index ec462ea0fa..0aad1a5064 100644
--- a/docs/topics/migrations.txt
+++ b/docs/topics/migrations.txt
@@ -524,7 +524,7 @@ Django can serialize the following:
- ``int``, ``long``, ``float``, ``bool``, ``str``, ``unicode``, ``bytes``, ``None``
- ``list``, ``set``, ``tuple``, ``dict``
-- ``datetime.date`` and ``datetime.datetime`` instances
+- ``datetime.date``, ``datetime.time``, and ``datetime.datetime`` instances
- ``decimal.Decimal`` instances
- Any Django field
- Any function or method reference (e.g. ``datetime.datetime.today``)
diff --git a/tests/migrations/test_writer.py b/tests/migrations/test_writer.py
index 64368af03e..3839f78cbd 100644
--- a/tests/migrations/test_writer.py
+++ b/tests/migrations/test_writer.py
@@ -95,6 +95,7 @@ class WriterTests(TestCase):
self.assertSerializedEqual(datetime.datetime.today)
self.assertSerializedEqual(datetime.date.today())
self.assertSerializedEqual(datetime.date.today)
+ self.assertSerializedEqual(datetime.datetime.now().time())
with self.assertRaises(ValueError):
self.assertSerializedEqual(datetime.datetime(2012, 1, 1, 1, 1, tzinfo=get_default_timezone()))
safe_date = datetime_safe.date(2014, 3, 31)