diff options
| author | Tom Christie | 2013-03-07 09:03:53 +0000 |
|---|---|---|
| committer | Tom Christie | 2013-03-07 09:03:53 +0000 |
| commit | ad336cc636d98022ea7eda516a04a7937eb32238 (patch) | |
| tree | 5d5edf878a0f232ebdf9f63a2b94cfc3f96b7726 /rest_framework/fields.py | |
| parent | f5a8f172a32f38fcefa1086fd1e031f5a686f8a0 (diff) | |
| download | django-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.py | 7 |
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) |
