summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Abdullah <me@laymonage.com>2023-04-19 23:54:18 +0700
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-04-19 21:53:04 +0200
commitf80dbcf7dccc7227eade1a02d413fc65fc6f53ef (patch)
tree818907ec660f4340257db3ef9ee674e407d4924e
parentdf44c7b3cc66e0eadd44e794f31e66ccbb385bac (diff)
downloaddjango-f80dbcf7dccc7227eade1a02d413fc65fc6f53ef.tar.gz
[4.2.x] Fixed #34435 -- Doc'd that JSONField.default must be a callable.
Backport of 01ae9d4ca9afdaf30a247e10e8333261a7d8224c from main
-rw-r--r--docs/ref/models/fields.txt14
1 files changed, 8 insertions, 6 deletions
diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt
index c1267507b2..7374ea6b63 100644
--- a/docs/ref/models/fields.txt
+++ b/docs/ref/models/fields.txt
@@ -1262,14 +1262,16 @@ Python native format: dictionaries, lists, strings, numbers, booleans and
Defaults to ``json.JSONDecoder``.
-If you give the field a :attr:`~django.db.models.Field.default`, ensure it's an
-immutable object, such as a ``str``, or a callable object that returns a fresh
-mutable object each time, such as ``dict`` or a function. Providing a mutable
-default object like ``default={}`` or ``default=[]`` shares the one object
-between all model instances.
-
To query ``JSONField`` in the database, see :ref:`querying-jsonfield`.
+.. admonition:: Default value
+
+ If you give the field a :attr:`~django.db.models.Field.default`, ensure
+ it's a callable such as the :py:class:`dict` class or a function that
+ returns a fresh object each time. Incorrectly using a mutable object like
+ ``default={}`` or ``default=[]`` creates a mutable default that is shared
+ between all instances.
+
.. admonition:: Indexing
:class:`~django.db.models.Index` and :attr:`.Field.db_index` both create a