¿Cómo configurar una extensión de Postgres?

En la última versión de Django (1.8), se han agregado algunos campos de modelo para aprovechar los tipos de datos de Postgres. Estoy interesado en HStoreField y la documentación solicita configurar una extensión PG para usar los nuevos HStoreField en los modelos.

¿Cómo uso realmente esta clase HStoreExtension para realizar la extensión de la base de datos?

Los documentos de HStoreField piden que configure la extensión agregando una migración.

Puedes crear una migración vacía con el comando

 ./manage.py makemigrations yourapp --empty 

En el archivo de migración creado, puede importar la extensión,

 django.contrib.postgres.operations import HStoreExtension 

y agregarlo a la lista de operaciones.

 operations = [ HStoreExtension(), ] 

Una vez que haya creado esta migración, puede usar HStoreField en sus modelos.

Como ejemplo, consulte este archivo de migración utilizado en las pruebas postgres de Django. Establece dos extensiones, HStoreExtension() y UnaccentExtension .