summaryrefslogtreecommitdiff
path: root/django/core/serializers/json.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/core/serializers/json.py')
-rw-r--r--django/core/serializers/json.py23
1 files changed, 12 insertions, 11 deletions
diff --git a/django/core/serializers/json.py b/django/core/serializers/json.py
index 886e8f894c..59d7318409 100644
--- a/django/core/serializers/json.py
+++ b/django/core/serializers/json.py
@@ -8,9 +8,8 @@ import json
import uuid
from django.core.serializers.base import DeserializationError
-from django.core.serializers.python import (
- Deserializer as PythonDeserializer, Serializer as PythonSerializer,
-)
+from django.core.serializers.python import Deserializer as PythonDeserializer
+from django.core.serializers.python import Serializer as PythonSerializer
from django.utils.duration import duration_iso_string
from django.utils.functional import Promise
from django.utils.timezone import is_aware
@@ -18,18 +17,19 @@ from django.utils.timezone import is_aware
class Serializer(PythonSerializer):
"""Convert a queryset to JSON."""
+
internal_use_only = False
def _init_options(self):
self._current = None
self.json_kwargs = self.options.copy()
- self.json_kwargs.pop('stream', None)
- self.json_kwargs.pop('fields', None)
- if self.options.get('indent'):
+ self.json_kwargs.pop("stream", None)
+ self.json_kwargs.pop("fields", None)
+ if self.options.get("indent"):
# Prevent trailing spaces
- self.json_kwargs['separators'] = (',', ': ')
- self.json_kwargs.setdefault('cls', DjangoJSONEncoder)
- self.json_kwargs.setdefault('ensure_ascii', False)
+ self.json_kwargs["separators"] = (",", ": ")
+ self.json_kwargs.setdefault("cls", DjangoJSONEncoder)
+ self.json_kwargs.setdefault("ensure_ascii", False)
def start_serialization(self):
self._init_options()
@@ -79,14 +79,15 @@ class DjangoJSONEncoder(json.JSONEncoder):
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.
if isinstance(o, datetime.datetime):
r = o.isoformat()
if o.microsecond:
r = r[:23] + r[26:]
- if r.endswith('+00:00'):
- r = r[:-6] + 'Z'
+ if r.endswith("+00:00"):
+ r = r[:-6] + "Z"
return r
elif isinstance(o, datetime.date):
return o.isoformat()