gpt4 book ai didi

pytest-django - 如何使用 pytest-django 设置 postgres 数据库?

转载 作者:行者123 更新时间:2023-12-04 18:39:23 24 4
gpt4 key购买 nike

我希望 pytest-django 在创建测试数据库时安装 Postgres 扩展。我一直在使用 conftest.py 试图让它工作,但我被卡住了。

我的 conftest.py 位于我项目的顶层(与 manage.py 相同的目录),包含:

from django.db import connection
import pytest_django
@pytest.fixture(scope='session')
def django_db_setup(*args, **kwargs):
pytest_django.fixtures.django_db_setup(*args, **kwargs)
cursor = connection.cursor()
cursor.execute("create extension pg_trgm")

但是当我运行它时,我得到:
_pytest.vendored_packages.pluggy.PluginValidationError: unknown hook 'pytest_django' in plugin <module 'conftest' from '/path/to/my/conftest.py'>

最佳答案

您可以使用 pre_migrate信号。例如:

from django.db.models.signals import pre_migrate
from django.apps import apps

def app_pre_migration(sender, app_config, **kwargs):

cur = connection.cursor()
cur.execute('CREATE EXTENSION IF NOT EXISTS pg_trgm;')

pre_migrate.connect(app_pre_migration, sender=apps.get_app_config('app'))

我希望这可以帮助你。

关于pytest-django - 如何使用 pytest-django 设置 postgres 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41940148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com