From 17407eca59b0572228067cdee51433f49a1e0adb Mon Sep 17 00:00:00 2001 From: jpribyl Date: Fri, 4 Sep 2020 08:16:46 +0200 Subject: [PATCH] Fixed #31894 -- Added note about using JSONField key lookups with QuerySet.exclude() in docs. --- docs/topics/db/queries.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt index 1b71cd77ff..637975bb2e 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