0
0
mirror of https://github.com/django/django.git synced 2024-11-29 06:03:25 +01:00

Reverted "Fixed #30711 -- Doc'd django.contrib.postgres.fields.hstore.KeyTransform()."

This reverts commit 7faf25d682. The same
can be achieved with F() so there is no need to expose an extra API.
This commit is contained in:
Mariusz Felisiak 2022-08-31 22:12:30 +02:00 committed by GitHub
parent 838cc0f449
commit cb06f5ef8c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -343,22 +343,6 @@ 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``
------------------------
@ -395,6 +379,13 @@ You can chain other lookups after key lookups::
>>> Dog.objects.filter(data__breed__contains='l')
<QuerySet [<Dog: Rufus>, <Dog: Meg>]>
or use ``F()`` expressions to annotate a key value. For example::
>>> from django.db.models import F
>>> rufus = Dog.objects.annotate(breed=F("data__breed"))[0]
>>> rufus.breed
'labrador'
If the key you wish to query by clashes with the name of another lookup, you
need to use the :lookup:`hstorefield.contains` lookup instead.