aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/fields.py
diff options
context:
space:
mode:
authorTom Christie2013-03-07 09:03:53 +0000
committerTom Christie2013-03-07 09:03:53 +0000
commitad336cc636d98022ea7eda516a04a7937eb32238 (patch)
tree5d5edf878a0f232ebdf9f63a2b94cfc3f96b7726 /rest_framework/fields.py
parentf5a8f172a32f38fcefa1086fd1e031f5a686f8a0 (diff)
downloaddjango-rest-framework-ad336cc636d98022ea7eda516a04a7937eb32238.tar.bz2
Fix broken `None` value for `TimeField`.
Refs #707.
Diffstat (limited to 'rest_framework/fields.py')
-rw-r--r--rest_framework/fields.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py
index e9bae0ec..0a199f10 100644
--- a/rest_framework/fields.py
+++ b/rest_framework/fields.py
@@ -536,8 +536,10 @@ class DateField(WritableField):
def to_native(self, value):
if value is None:
return None
+
if isinstance(value, datetime.datetime):
value = value.date()
+
if self.format.lower() == ISO_8601:
return value.isoformat()
return value.strftime(self.format)
@@ -603,6 +605,7 @@ class DateTimeField(WritableField):
def to_native(self, value):
if value is None:
return None
+
if self.format.lower() == ISO_8601:
return value.isoformat()
return value.strftime(self.format)
@@ -653,8 +656,12 @@ class TimeField(WritableField):
raise ValidationError(msg)
def to_native(self, value):
+ if value is None:
+ return None
+
if isinstance(value, datetime.datetime):
value = value.time()
+
if self.format.lower() == ISO_8601:
return value.isoformat()
return value.strftime(self.format)