aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2013-01-15 05:25:24 -0800
committerTom Christie2013-01-15 05:25:24 -0800
commit685706ff2bf0bf0174e1f057027c9d486c31415a (patch)
tree601771181bf502833c484f3d37a6cc099954afcc
parente32aaa29b8e8665faf63ab4646cfba7aed6d9d8c (diff)
parent4fc3b1ba56239a1fb999f9aef99cdbcfbc9aa254 (diff)
downloaddjango-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.py4
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__'):