summaryrefslogtreecommitdiff
path: root/django/core/serializers/json.py
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2015-09-26 20:15:26 +0200
committerClaude Paroz <claude@2xlibre.net>2015-09-27 22:37:27 +0200
commitb7ade645290ecf45530fe7211f8f759fc9cf9971 (patch)
treef28449efe250495afa3b11aa8fce01c85b1df29e /django/core/serializers/json.py
parent87630bc3042da106b29fb1307bb77426f80dcf84 (diff)
downloaddjango-b7ade645290ecf45530fe7211f8f759fc9cf9971.tar.gz
Fixed #25468 -- Made DjangoJSONEncoder lazy string aware
Thanks Stavros Korokithakis for the report and Tim Graham for the review.
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 e023997681..4c963b0b79 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.functional import Promise
from django.utils.timezone import is_aware
@@ -111,6 +112,8 @@ class DjangoJSONEncoder(json.JSONEncoder):
return str(o)
elif isinstance(o, uuid.UUID):
return str(o)
+ elif isinstance(o, Promise):
+ return six.text_type(o)
else:
return super(DjangoJSONEncoder, self).default(o)