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:56:20 +0100
commite9acb05b6308e2b07f7f75d70e80e6472a04a336 (patch)
treeae2b21bb601000261050131525b6cddf1c3fb99d
parentd05cf7c35ff5fc2781962f06051c0df072201a78 (diff)
[5.1.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 2c2314198f..e0551d2757 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