diff options
| author | Lukas Hetzenecker <lukas@splots.co> | 2015-06-23 22:56:22 +0200 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2015-06-24 18:41:25 +0200 |
| commit | 6355a6d4f59eb220e05130d179beba7bb29c88af (patch) | |
| tree | 2dfe2741a131947efc91ae93a34b2cfe208ad461 /django | |
| parent | c078021555dcda6b12363b5b0646eac5332a0d86 (diff) | |
Fixed #25019 -- Added UUID support in DjangoJSONEncoder
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/serializers/json.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/django/core/serializers/json.py b/django/core/serializers/json.py index f67295edf9..764640465d 100644 --- a/django/core/serializers/json.py +++ b/django/core/serializers/json.py @@ -8,6 +8,7 @@ from __future__ import absolute_import, unicode_literals import datetime import decimal import json +import uuid import sys from django.core.serializers.base import DeserializationError @@ -86,7 +87,7 @@ def Deserializer(stream_or_string, **options): class DjangoJSONEncoder(json.JSONEncoder): """ - JSONEncoder subclass that knows how to encode date/time and decimal types. + JSONEncoder subclass that knows how to encode date/time, decimal types and UUIDs. """ def default(self, o): # See "Date Time String Format" in the ECMA-262 specification. @@ -108,6 +109,8 @@ class DjangoJSONEncoder(json.JSONEncoder): return r elif isinstance(o, decimal.Decimal): return str(o) + elif isinstance(o, uuid.UUID): + return str(o) else: return super(DjangoJSONEncoder, self).default(o) |
