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 /rest_framework | |
| 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.
Diffstat (limited to 'rest_framework')
| -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__'):  | 
