我的文件夹结构如下:
使用apps.get_models()
时,apps/<some_app_name>/models.py
中的所有模型都可以加载,但不幸的是,映像上的文件夹client/brand/company也有一个models.py
文件,这些文件没有加载到apps.get_models()
上(代码如下):
import pytest
from django.apps import apps
# Set managed=True for unmanaged models. !! Without this, tests will fail because tables won't be created in test db !!
@pytest.fixture(autouse=True, scope="session")
def __django_test_environment(django_test_environment):
unmanaged_models = [m for m in apps.get_models() if not m._meta.managed]
for m in unmanaged_models:
m._meta.managed = True
有人能解释一下我应该如何/在哪里设置pytest/Django来查找模型吗?
使用Python 3.9.18和Django 3.2.21
我不确定它是否对某些事情有帮助:这4个模型继承自Account
,而PolymorphicMPTTModel
继承自PolymorphicMPTTModel
(这允许一些非常疯狂/令人困惑的父子关系)。
2条答案
按热度按时间kqqjbcuj1#
如果这些子模型被导入到
account/models.py
或account/models/__init__.py
中,Django会识别它们:您还可以创建独立包含
models.py
的新应用。i1icjdpr2#
如何指定路径?
或
我不确定哪一个是Django应用程序,以及它们在你的设置中是如何定义的,所以你可能必须使用其中一个。