summaryrefslogtreecommitdiff
path: root/django/core/serializers/json.py
diff options
context:
space:
mode:
authorWill Hardy <Will.Hardy@thermondo.de>2016-05-26 14:48:36 +0200
committerTim Graham <timograham@gmail.com>2016-07-14 13:34:15 -0400
commit8ef78b81654ebcf19a1fc241e2b1ede35100096b (patch)
tree67baaa077b5ed4530330a2202b5d3906708690b3 /django/core/serializers/json.py
parenta7b5dfd1703a8fbed70b7aca5e6dda092af51154 (diff)
downloaddjango-8ef78b81654ebcf19a1fc241e2b1ede35100096b.tar.gz
Fixed #26656 -- Added duration (timedelta) support to DjangoJSONEncoder.
Diffstat (limited to 'django/core/serializers/json.py')
-rw-r--r--django/core/serializers/json.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/django/core/serializers/json.py b/django/core/serializers/json.py
index a94a207ad6..b66b3697b3 100644
--- a/django/core/serializers/json.py
+++ b/django/core/serializers/json.py
@@ -16,6 +16,7 @@ from django.core.serializers.python import (
Deserializer as PythonDeserializer, Serializer as PythonSerializer,
)
from django.utils import six
+from django.utils.duration import duration_iso_string
from django.utils.functional import Promise
from django.utils.timezone import is_aware
@@ -108,6 +109,8 @@ class DjangoJSONEncoder(json.JSONEncoder):
if o.microsecond:
r = r[:12]
return r
+ elif isinstance(o, datetime.timedelta):
+ return duration_iso_string(o)
elif isinstance(o, decimal.Decimal):
return str(o)
elif isinstance(o, uuid.UUID):