Merge pull request #584 from radiosilence/master

Adding timedelta support to JSONEncoder, and an example of how to add decode support to a serializer.
This commit is contained in:
Tom Christie 2013-01-15 05:25:24 -08:00
commit 685706ff2b

View File

@ -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__'):