summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClifford Gama <53076065+cliff688@users.noreply.github.com>2025-03-18 22:54:10 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2025-03-18 21:54:46 +0100
commitbcb6ada288a0faf892e9982bca478e4e0da621ae (patch)
tree05f2f2e1c31502a32450b06e18d959f5bf19cc29
parent428cb3afd6ff9f5911bbf98aaf8e57bbfd85a4fb (diff)
[5.2.x] Fixed #36202 -- Added examples of JSONField __contains and __contained_by lookups with nested arrays to docs.
Backport of 304e9f3d6ae8387bbfc261d68b51247a1f5230bb from main
-rw-r--r--docs/topics/db/queries.txt12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt
index dfd439db8c..a6819daf01 100644
--- a/docs/topics/db/queries.txt
+++ b/docs/topics/db/queries.txt
@@ -1247,10 +1247,15 @@ contained in the top-level of the field. For example:
<Dog: Meg>
>>> Dog.objects.create(name="Fred", data={})
<Dog: Fred>
+ >>> Dog.objects.create(
+ ... name="Merry", data={"breed": "pekingese", "tricks": ["fetch", "dance"]}
+ ... )
>>> Dog.objects.filter(data__contains={"owner": "Bob"})
<QuerySet [<Dog: Rufus>, <Dog: Meg>]>
>>> Dog.objects.filter(data__contains={"breed": "collie"})
<QuerySet [<Dog: Meg>]>
+ >>> Dog.objects.filter(data__contains={"tricks": ["dance"]})
+ <QuerySet [<Dog: Merry>]>
.. admonition:: Oracle and SQLite
@@ -1273,10 +1278,17 @@ subset of those in the value passed. For example:
<Dog: Meg>
>>> Dog.objects.create(name="Fred", data={})
<Dog: Fred>
+ >>> Dog.objects.create(
+ ... name="Merry", data={"breed": "pekingese", "tricks": ["fetch", "dance"]}
+ ... )
>>> Dog.objects.filter(data__contained_by={"breed": "collie", "owner": "Bob"})
<QuerySet [<Dog: Meg>, <Dog: Fred>]>
>>> Dog.objects.filter(data__contained_by={"breed": "collie"})
<QuerySet [<Dog: Fred>]>
+ >>> Dog.objects.filter(
+ ... data__contained_by={"breed": "pekingese", "tricks": ["dance", "fetch", "hug"]}
+ ... )
+ <QuerySet [<Dog: Merry>, <Dog: Fred>]>
.. admonition:: Oracle and SQLite