Kaydet (Commit) f93e7f56 authored tarafından Tim Graham's avatar Tim Graham

Fixed #24690 -- Added a warning about mutable defaults for ArrayField/JSONField.

üst fd81588b
......@@ -17,6 +17,12 @@ ArrayField
<ArrayField.size>`. ``ArrayField`` can be nested to store multi-dimensional
arrays.
If you give the field a :attr:`~django.db.models.Field.default`, ensure
it's a callable such as ``list`` (for an empty default) or a callable that
returns a list (such as a function). Incorrectly using ``default=[]``
creates a mutable default that is shared between all instances of
``ArrayField``.
.. attribute:: base_field
This is a required argument.
......@@ -461,6 +467,12 @@ JSONField
its Python native format: dictionaries, lists, strings, numbers, booleans
and ``None``.
If you give the field a :attr:`~django.db.models.Field.default`, ensure
it's a callable such as ``dict`` (for an empty default) or a callable that
returns a dict (such as a function). Incorrectly using ``default={}``
creates a mutable default that is shared between all instances of
``JSONField``.
.. note::
PostgreSQL has two native JSON based data types: ``json`` and ``jsonb``.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment