From 01ae9d4ca9afdaf30a247e10e8333261a7d8224c Mon Sep 17 00:00:00 2001
From: Sage Abdullah <me@laymonage.com>
Date: Wed, 19 Apr 2023 23:54:18 +0700
Subject: [PATCH] Fixed #34435 -- Doc'd that JSONField.default must be a
 callable.

---
 docs/ref/models/fields.txt | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt
index 447668bbc5..27b87c1f53 100644
--- a/docs/ref/models/fields.txt
+++ b/docs/ref/models/fields.txt
@@ -1265,14 +1265,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