class HStoreField(**options)
[source]
A field for storing mappings of strings to strings. The Python data type used is a dict
.
To use this field, you’ll need to:
- Add
'django.contrib.postgres'
in yourINSTALLED_APPS
. -
Setup the hstore extension in PostgreSQL before the first
CreateModel
orAddField
operation by adding a migration with theHStoreExtension
operation. For example:from django.contrib.postgres.operations import HStoreExtension class Migration(migrations.Migration): ... operations = [ HStoreExtension(), ... ]
Creating the extension requires a database user with superuser privileges. If the Django database user doesn’t have superuser privileges, you’ll have to create the extension outside of Django migrations with a user that has the appropriate privileges. In that case, connect to your Django database and run the query
CREATE EXTENSION IF NOT EXISTS hstore;
You’ll see an error like can't adapt type 'dict'
if you skip the first step, or type "hstore" does not exist
if you skip the second.
Note
On occasions it may be useful to require or restrict the keys which are valid for a given field. This can be done using the KeysValidator
.
Please login to continue.