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() | 
