所有这些operations都可从django.contrib.postgres.operations
模块中获得。
您可以使用迁移文件在数据库中创建一个PostgreSQL扩展。 此示例创建一个hstore扩展,但相同的原则适用于其他扩展。
在第CreateModel
或AddField
操作之前,在PostgreSQL中设置hstore扩展,涉及HStoreField
,通过添加具有HStoreExtension
像这样:
from django.contrib.postgres.operations import HStoreExtension
class Migration(migrations.Migration):
...
operations = [
HStoreExtension(),
...
]
创建扩展需要具有超级用户权限的数据库用户。
如果Django数据库用户没有超级用户权限,则必须在具有适当特权的用户之外创建Django迁移之外的扩展。 在这种情况下,连接到Django数据库并运行查询CREATE EXTENSION IF NOT EXISTS hstore;
。
CreateExtension
¶2017年9月6日