Fixed #27582 -- Allowed HStoreField to store null values.

This commit is contained in:
David Hoffman 2016-12-08 19:17:02 -05:00 committed by Tim Graham
parent 9524fd9133
commit bf84d042e0
6 changed files with 33 additions and 9 deletions

View file

@ -275,8 +275,9 @@ A more useful index is a ``GIN`` index, which you should create using a
.. class:: HStoreField(**options)
A field for storing mappings of strings to strings. The Python data type
used is a ``dict``.
A field for storing key-value pairs. The Python data type used is a
``dict``. Keys must be strings, and values may be either strings or nulls
(``None`` in Python).
To use this field, you'll need to:
@ -287,6 +288,10 @@ A more useful index is a ``GIN`` index, which you should create using a
You'll see an error like ``can't adapt type 'dict'`` if you skip the first
step, or ``type "hstore" does not exist`` if you skip the second.
.. versionchanged:: 1.11
Added the ability to store nulls. Previously, they were cast to strings.
.. note::
On occasions it may be useful to require or restrict the keys which are

View file

@ -144,8 +144,8 @@ Fields
.. class:: HStoreField
A field which accepts JSON encoded data for an
:class:`~django.contrib.postgres.fields.HStoreField`. It will cast all the
values to strings. It is represented by an HTML ``<textarea>``.
:class:`~django.contrib.postgres.fields.HStoreField`. It casts all values
(except nulls) to strings. It is represented by an HTML ``<textarea>``.
.. admonition:: User friendly forms
@ -159,6 +159,10 @@ Fields
valid for a given field. This can be done using the
:class:`~django.contrib.postgres.validators.KeysValidator`.
.. versionchanged:: 1.11
Added the ability to store nulls.
``JSONField``
-------------