[1.9.x] Fixed #26704 -- Documented DjangoJSONEncoder.
Backport of 729b9452b19b031d3817821128a115d5b2d5caed from master
This commit is contained in:
parent
df4382341a
commit
d22bac99b0
@ -936,7 +936,7 @@ types of HTTP responses. Like ``HttpResponse``, these subclasses live in
|
|||||||
JSON-serializable object.
|
JSON-serializable object.
|
||||||
|
|
||||||
The ``encoder``, which defaults to
|
The ``encoder``, which defaults to
|
||||||
``django.core.serializers.json.DjangoJSONEncoder``, will be used to
|
:class:`django.core.serializers.json.DjangoJSONEncoder`, will be used to
|
||||||
serialize the data. See :ref:`JSON serialization
|
serialize the data. See :ref:`JSON serialization
|
||||||
<serialization-formats-json>` for more details about this serializer.
|
<serialization-formats-json>` for more details about this serializer.
|
||||||
|
|
||||||
|
@ -253,9 +253,6 @@ Foreign keys just have the PK of the linked object as property value.
|
|||||||
ManyToMany-relations are serialized for the model that defines them and are
|
ManyToMany-relations are serialized for the model that defines them and are
|
||||||
represented as a list of PKs.
|
represented as a list of PKs.
|
||||||
|
|
||||||
Date and datetime related types are treated in a special way by the JSON
|
|
||||||
serializer to make the format compatible with `ECMA-262`_.
|
|
||||||
|
|
||||||
Be aware that not all Django output can be passed unmodified to :mod:`json`.
|
Be aware that not all Django output can be passed unmodified to :mod:`json`.
|
||||||
In particular, :ref:`lazy translation objects <lazy-translations>` need a
|
In particular, :ref:`lazy translation objects <lazy-translations>` need a
|
||||||
custom :mod:`json` encoder. Something like this will work::
|
custom :mod:`json` encoder. Something like this will work::
|
||||||
@ -273,6 +270,31 @@ custom :mod:`json` encoder. Something like this will work::
|
|||||||
Also note that GeoDjango provides a :doc:`customized GeoJSON serializer
|
Also note that GeoDjango provides a :doc:`customized GeoJSON serializer
|
||||||
</ref/contrib/gis/serializers>`.
|
</ref/contrib/gis/serializers>`.
|
||||||
|
|
||||||
|
``DjangoJSONEncoder``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. class:: django.core.serializers.json.DjangoJSONEncoder
|
||||||
|
|
||||||
|
The JSON serializer uses ``DjangoJSONEncoder`` for encoding. A subclass of
|
||||||
|
:class:`~json.JSONEncoder`, it handles these additional types:
|
||||||
|
|
||||||
|
:class:`~datetime.datetime`
|
||||||
|
A string of the form ``YYYY-MM-DDTHH:mm:ss.sssZ`` or
|
||||||
|
``YYYY-MM-DDTHH:mm:ss.sss+HH:MM`` as defined in `ECMA-262`_.
|
||||||
|
|
||||||
|
:class:`~datetime.date`
|
||||||
|
A string of the form ``YYYY-MM-DD`` as defined in `ECMA-262`_.
|
||||||
|
|
||||||
|
:class:`~datetime.time`
|
||||||
|
A string of the form ``HH:MM:ss.sss`` as defined in `ECMA-262`_.
|
||||||
|
|
||||||
|
:class:`~decimal.Decimal`, :class:`~uuid.UUID`
|
||||||
|
A string representation of the object.
|
||||||
|
|
||||||
|
.. versionchanged:: 1.8.4
|
||||||
|
|
||||||
|
Support for :class:`~uuid.UUID` was added.
|
||||||
|
|
||||||
.. _ecma-262: http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15
|
.. _ecma-262: http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15
|
||||||
|
|
||||||
YAML
|
YAML
|
||||||
|
Loading…
x
Reference in New Issue
Block a user