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:] |
