aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/fields.py
diff options
context:
space:
mode:
authorTom Christie2013-03-08 23:00:23 +0000
committerTom Christie2013-03-08 23:00:23 +0000
commit5e993f39294da5e8650c7ac21aeb3da02012b775 (patch)
treed95dfd6c09b6d4b8dfc869f103cb59c65488dcac /rest_framework/fields.py
parent2596c12a21003d230beb101aa93ddf83a1995305 (diff)
parent6c1fcc855a2d05732113ce260b8660a414e1961e (diff)
downloaddjango-rest-framework-5e993f39294da5e8650c7ac21aeb3da02012b775.tar.bz2
Merge
Diffstat (limited to 'rest_framework/fields.py')
-rw-r--r--rest_framework/fields.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py
index fe555ee5..0a199f10 100644
--- a/rest_framework/fields.py
+++ b/rest_framework/fields.py
@@ -534,8 +534,12 @@ class DateField(WritableField):
raise ValidationError(msg)
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)
@@ -599,6 +603,9 @@ class DateTimeField(WritableField):
raise ValidationError(msg)
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)
@@ -649,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)