summaryrefslogtreecommitdiff
path: root/docs/ref
diff options
context:
space:
mode:
authorAlokik Vijay <alokik.roe@gmail.com>2022-07-09 23:04:53 +0530
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-07-13 11:34:46 +0200
commit0acaea1329e1b31d38dff2b58fc9088814981e0d (patch)
treef6f6ad5e8cfd2011f544dd18a79f3997d38180b2 /docs/ref
parent7d59c6d37c3b675b85d218f733ed24ca006a9d05 (diff)
[4.1.x] Fixed #30711 -- Doc'd django.contrib.postgres.fields.hstore.KeyTransform().
Backport of 7faf25d682b8e8f4fd2006eb7dfc71ed2a2193b7 from main
Diffstat (limited to 'docs/ref')
-rw-r--r--docs/ref/contrib/postgres/fields.txt16
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/ref/contrib/postgres/fields.txt b/docs/ref/contrib/postgres/fields.txt
index fe4b3856ab..d4c8fda2e3 100644
--- a/docs/ref/contrib/postgres/fields.txt
+++ b/docs/ref/contrib/postgres/fields.txt
@@ -319,6 +319,22 @@ transform do not change. For example::
valid for a given field. This can be done using the
:class:`~django.contrib.postgres.validators.KeysValidator`.
+KeyTransform() expression
+-------------------------
+
+.. class:: hstore.KeyTransform(key_name, *args, **kwargs)
+
+Returns the value of the given ``key_name``. This allows you to annotate a key
+value. For example::
+
+ >>> from django.contrib.postgres.fields.hstore import KeyTransform
+ >>> Dog.objects.create(name="Rufus", data={"breed": "labrador"})
+ >>> Dog.objects.create(name="Meg", data={"breed": "collie", "owner": "Bob"})
+
+ >>> rufus = Dog.objects.annotate(breed=KeyTransform("breed", "data"))[0]
+ >>> rufus.breed
+ 'labrador'
+
Querying ``HStoreField``
------------------------