diff options
| author | Tom Christie | 2013-05-24 23:44:23 +0100 | 
|---|---|---|
| committer | Tom Christie | 2013-05-24 23:44:23 +0100 | 
| commit | fcaee6e580efc62658a5b155525c55ef427c5778 (patch) | |
| tree | f46d5966d96e52c6e77df73c0f7c19200a82f1c7 /rest_framework/utils/encoders.py | |
| parent | 760e8642bd04b5e03409601a8d378799c36eac1b (diff) | |
| download | django-rest-framework-fcaee6e580efc62658a5b155525c55ef427c5778.tar.bz2 | |
Clean up OPTIONS implementation
Diffstat (limited to 'rest_framework/utils/encoders.py')
| -rw-r--r-- | rest_framework/utils/encoders.py | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/rest_framework/utils/encoders.py b/rest_framework/utils/encoders.py index b6de18a8..b26a2085 100644 --- a/rest_framework/utils/encoders.py +++ b/rest_framework/utils/encoders.py @@ -3,7 +3,8 @@ Helper classes for parsers.  """  from __future__ import unicode_literals  from django.utils.datastructures import SortedDict -from rest_framework.compat import timezone +from django.utils.functional import Promise +from rest_framework.compat import timezone, force_text  from rest_framework.serializers import DictWithMetadata, SortedDictWithMetadata  import datetime  import decimal @@ -19,7 +20,9 @@ class JSONEncoder(json.JSONEncoder):      def default(self, o):          # For Date Time string spec, see ECMA 262          # http://ecma-international.org/ecma-262/5.1/#sec-15.9.1.15 -        if isinstance(o, datetime.datetime): +        if isinstance(o, Promise): +            return force_text(o) +        elif isinstance(o, datetime.datetime):              r = o.isoformat()              if o.microsecond:                  r = r[:23] + r[26:] | 
