diff --git a/docs/ref/contrib/postgres/fields.txt b/docs/ref/contrib/postgres/fields.txt index 5ca8177eb5..587c44a435 100644 --- a/docs/ref/contrib/postgres/fields.txt +++ b/docs/ref/contrib/postgres/fields.txt @@ -17,6 +17,12 @@ ArrayField `. ``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``.