我有一个django应用程序,它要求在数据库上启用postgres的fuzzystmatch扩展。
Django的UnitTest框架创建并销毁一个新数据库。我需要这个新数据库打开扩展进行测试。
我可以使用“./manage.py test--keepdb”来保存数据库,然后手动打开扩展,但这是一个无结果的解决方案。
知道如何以编程方式启用这个扩展吗?
创建空迁移并使用 CreateExtension 操作:
CreateExtension
from django.contrib.postgres.operations import CreateExtension class Migration(migrations.Migration): ... operations = [ CreateExtension(name='fuzzystrmatch'), ... ]
Relevant docs
编辑: 如果这不起作用,那么我的下一个建议是回顾一下Django如何在内部处理这些类。