diff options
| author | Tom Christie | 2013-03-21 08:41:54 +0000 |
|---|---|---|
| committer | Tom Christie | 2013-03-21 08:41:54 +0000 |
| commit | 8adde506e865005a96cdeff996ec4b5b9bb73a8f (patch) | |
| tree | bd9edbb8282a3c1aa40d1a17d9c2950c475b6a75 /rest_framework/fields.py | |
| parent | 20fd738c856dfa21a0d2d251b92459d6641c782c (diff) | |
| download | django-rest-framework-8adde506e865005a96cdeff996ec4b5b9bb73a8f.tar.bz2 | |
Default date/time fields now return python date/time objects again by default
Diffstat (limited to 'rest_framework/fields.py')
| -rw-r--r-- | rest_framework/fields.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py index a0f52f50..f3496b53 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -494,7 +494,7 @@ class DateField(WritableField): } empty = None input_formats = api_settings.DATE_INPUT_FORMATS - format = api_settings.DATE_FORMAT + format = None def __init__(self, input_formats=None, format=None, *args, **kwargs): self.input_formats = input_formats if input_formats is not None else self.input_formats @@ -536,8 +536,8 @@ class DateField(WritableField): raise ValidationError(msg) def to_native(self, value): - if value is None: - return None + if value is None or self.format is None: + return value if isinstance(value, datetime.datetime): value = value.date() @@ -557,7 +557,7 @@ class DateTimeField(WritableField): } empty = None input_formats = api_settings.DATETIME_INPUT_FORMATS - format = api_settings.DATETIME_FORMAT + format = None def __init__(self, input_formats=None, format=None, *args, **kwargs): self.input_formats = input_formats if input_formats is not None else self.input_formats @@ -605,8 +605,8 @@ class DateTimeField(WritableField): raise ValidationError(msg) def to_native(self, value): - if value is None: - return None + if value is None or self.format is None: + return value if self.format.lower() == ISO_8601: ret = value.isoformat() @@ -626,7 +626,7 @@ class TimeField(WritableField): } empty = None input_formats = api_settings.TIME_INPUT_FORMATS - format = api_settings.TIME_FORMAT + format = None def __init__(self, input_formats=None, format=None, *args, **kwargs): self.input_formats = input_formats if input_formats is not None else self.input_formats @@ -661,8 +661,8 @@ class TimeField(WritableField): raise ValidationError(msg) def to_native(self, value): - if value is None: - return None + if value is None or self.format is None: + return value if isinstance(value, datetime.datetime): value = value.time() |
