Django 1.7在运行测试时加载了无关的模型

时间:2015-04-16 22:32:31

标签: python django

我有一个与Django 1.6配合良好的Django项目,但在尝试升级到Django 1.7时给我带来了很多麻烦。

在此项目中,应用my_app不包含任何自己的模型,但包含使用other_models.py的文件python manage.py inspectdbgenerated to interact with a legacy database。当我连接到这个辅助数据库时,我想只在特定的代码路径中使用这些模型。再次,这与Django 1.6一起运行良好。

升级到Django 1.7后,我无法再使用python manage.py test运行我的测试套件。当我这样做时,我得到了大量的错误,如下所示:

CommandError: System check identified some issues:

ERRORS:
my_app.AccountAccount.created_by_type: (fields.E304) Reverse accessor for 'AccountAccount.created_by_type' clashes with reverse accessor for 'AccountAccount.deactivated_by_type'.
    HINT: Add or change a related_name argument to the definition for 'AccountAccount.created_by_type' or 'AccountAccount.deactivated_by_type'.
...
# Tons more of these

这些错误都在抱怨other_models.py中定义的模型。在我看来changes in app-loading process引起了我的问题,但我并不完全确定。

我尝试使用以下代码在此应用中设置apps.py

from django.apps import AppConfig

class MyAppConfig(AppConfig):
    name = 'my_app'
    models_module = None

并根据documentation on configuring applicationsdefault_app_config = 'my_app.apps.MyAppConfig'添加到我的my_app.__init__.py,但无济于事。

我完全不知道接下来要做什么,并且非常感谢有关如何控制Django何时以及如何加载模型的信息,特别是在运行python manage.py test时。

0 个答案:

没有答案