Py学习  »  Django

Django测试数据库需要启用Postgres扩展

J. Brett Cunningham • 4 年前 • 541 次点击  

我有一个django应用程序,它要求在数据库上启用postgres的fuzzystmatch扩展。

Django的UnitTest框架创建并销毁一个新数据库。我需要这个新数据库打开扩展进行测试。

我可以使用“./manage.py test--keepdb”来保存数据库,然后手动打开扩展,但这是一个无结果的解决方案。

知道如何以编程方式启用这个扩展吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38299
 
541 次点击  
文章 [ 1 ]  |  最新文章 4 年前
schillingt
Reply   •   1 楼
schillingt    5 年前

创建空迁移并使用 CreateExtension 操作:

from django.contrib.postgres.operations import CreateExtension

class Migration(migrations.Migration):
    ...

    operations = [
        CreateExtension(name='fuzzystrmatch'),
        ...
    ] 

Relevant docs

编辑: 如果这不起作用,那么我的下一个建议是回顾一下Django如何在内部处理这些类。