summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjpribyl <pribylsnbits@gmail.com>2020-09-04 08:16:46 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-09-04 10:17:13 +0200
commit3fc636244e07c02645fcebda769d7adf4ab560a6 (patch)
treec27654728bcca3a033aedfe5842df55d7a80f4dc
parentf36c441f80c9c2cf69cbfa3254976aae08ef15f9 (diff)
[3.1.x] Fixed #31894 -- Added note about using JSONField key lookups with QuerySet.exclude() in docs.
Backport of 17407eca59b0572228067cdee51433f49a1e0adb from master
-rw-r--r--docs/topics/db/queries.txt8
1 files changed, 8 insertions, 0 deletions
diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt
index f10d92576d..5e0ea8fa3e 100644
--- a/docs/topics/db/queries.txt
+++ b/docs/topics/db/queries.txt
@@ -910,6 +910,14 @@ To query for missing keys, use the ``isnull`` lookup::
:lookup:`istartswith`, :lookup:`lt`, :lookup:`lte`, :lookup:`gt`, and
:lookup:`gte`, as well as with :ref:`containment-and-key-lookups`.
+.. note::
+
+ Due to the way in which key-path queries work,
+ :meth:`~django.db.models.query.QuerySet.exclude` and
+ :meth:`~django.db.models.query.QuerySet.filter` are not guaranteed to
+ produce exhaustive sets. If you want to include objects that do not have
+ the path, add the ``isnull`` lookup.
+
.. warning::
Since any string could be a key in a JSON object, any lookup other than