diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-07-26 20:21:27 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-07-26 20:22:03 +0200 |
| commit | 265c3eb60287d7ba644a7796a79675b8c0d627ca (patch) | |
| tree | 3db0e801f57f723dae6b1b5f7a9b38f33a7e5640 /docs | |
| parent | 1fd79033f7835c9755f77cb934927c7fd0079da5 (diff) | |
[4.1.x] Fixed #33820 -- Doc'd "true"/"false"/"null" caveat for JSONField key transforms on SQLite.
Thanks Johnny Metz for the report.
Regression in 71ec102b01fcc85acae3819426a4e02ef423b0fa.
Backport of e20e5d1557785ba71e8ef0ceb8ccb85bdc13840a from main
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/ref/models/querysets.txt | 16 | ||||
| -rw-r--r-- | docs/topics/db/queries.txt | 6 |
2 files changed, 22 insertions, 0 deletions
diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index a9da1dcf7e..641ef0dd79 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -712,6 +712,14 @@ You can also refer to fields on related models with reverse relations through pronounced if you include multiple such fields in your ``values()`` query, in which case all possible combinations will be returned. +.. admonition:: Special values for ``JSONField`` on SQLite + + Due to the way the ``JSON_EXTRACT`` and ``JSON_TYPE`` SQL functions are + implemented on SQLite, and lack of the ``BOOLEAN`` data type, + ``values()`` will return ``True``, ``False``, and ``None`` instead of + ``"true"``, ``"false"``, and ``"null"`` strings for + :class:`~django.db.models.JSONField` key transforms. + ``values_list()`` ~~~~~~~~~~~~~~~~~ @@ -782,6 +790,14 @@ not having any author:: >>> Entry.objects.values_list('authors') <QuerySet [('Noam Chomsky',), ('George Orwell',), (None,)]> +.. admonition:: Special values for ``JSONField`` on SQLite + + Due to the way the ``JSON_EXTRACT`` and ``JSON_TYPE`` SQL functions are + implemented on SQLite, and lack of the ``BOOLEAN`` data type, + ``values_list()`` will return ``True``, ``False``, and ``None`` instead of + ``"true"``, ``"false"``, and ``"null"`` strings for + :class:`~django.db.models.JSONField` key transforms. + ``dates()`` ~~~~~~~~~~~ diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt index 2d43e7ee32..d256545453 100644 --- a/docs/topics/db/queries.txt +++ b/docs/topics/db/queries.txt @@ -1091,6 +1091,12 @@ To query for missing keys, use the ``isnull`` lookup:: On PostgreSQL, if only one key or index is used, the SQL operator ``->`` is used. If multiple operators are used then the ``#>`` operator is used. +.. admonition:: SQLite users + + On SQLite, ``"true"``, ``"false"``, and ``"null"`` string values will + always be interpreted as ``True``, ``False``, and JSON ``null`` + respectively. + .. _containment-and-key-lookups: Containment and key lookups |
