diff options
| author | Tom Christie | 2013-01-15 05:25:24 -0800 |
|---|---|---|
| committer | Tom Christie | 2013-01-15 05:25:24 -0800 |
| commit | 685706ff2bf0bf0174e1f057027c9d486c31415a (patch) | |
| tree | 601771181bf502833c484f3d37a6cc099954afcc | |
| parent | e32aaa29b8e8665faf63ab4646cfba7aed6d9d8c (diff) | |
| parent | 4fc3b1ba56239a1fb999f9aef99cdbcfbc9aa254 (diff) | |
| download | django-rest-framework-685706ff2bf0bf0174e1f057027c9d486c31415a.tar.bz2 | |
Merge pull request #584 from radiosilence/master
Adding timedelta support to JSONEncoder, and an example of how to add decode support to a serializer.
| -rw-r--r-- | rest_framework/utils/encoders.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/rest_framework/utils/encoders.py b/rest_framework/utils/encoders.py index c70b24dd..7afe100a 100644 --- a/rest_framework/utils/encoders.py +++ b/rest_framework/utils/encoders.py @@ -12,7 +12,7 @@ from rest_framework.serializers import DictWithMetadata, SortedDictWithMetadata class JSONEncoder(json.JSONEncoder): """ - JSONEncoder subclass that knows how to encode date/time, + JSONEncoder subclass that knows how to encode date/time/timedelta, decimal types, and generators. """ def default(self, o): @@ -34,6 +34,8 @@ class JSONEncoder(json.JSONEncoder): if o.microsecond: r = r[:12] return r + elif isinstance(o, datetime.timedelta): + return str(o.total_seconds()) elif isinstance(o, decimal.Decimal): return str(o) elif hasattr(o, '__iter__'): |
