为什么我的Django迁移加载了我的urls.py?

时间:2016-07-14 20:16:13

标签: python django django-models django-migrations

我正在尝试在新安装的Heroku实例上运行django迁移,但是获得了ProgrammingError。该错误是由于某些模块级查询在一个完全独立的模块中执行的,并且在迁移期间根本不应该被调用。

事实证明,他们调用文件的原因是因为他们在导入我urls.py的文件中,并且由于某种原因,Django正在加载这些网址。

Django是否有必要加载网址,即使迁移不依赖于它们,是否有任何方法可以防止它们被加载?

2 个答案:

答案 0 :(得分:2)

BaseCommand类中有一个布尔类属性,名为requires_system_checks,默认情况下为True。在执行命令之前,它将检查所有潜在的问题。在3.0版本中,有一个名为--skip-checks的标志,它会在运行命令之前跳过正在运行的系统检查。我检查了一个全新生成的Django项目,它没有产生我在urls.py模块中故意写的预期异常的情况。

答案 1 :(得分:1)

我在models.py文件的顶部添加了以下几行。

from django.core.management.base import BaseCommand
BaseCommand.requires_system_checks = False
相关问题