我正在尝试在新安装的Heroku实例上运行django迁移,但是获得了ProgrammingError
。该错误是由于某些模块级查询在一个完全独立的模块中执行的,并且在迁移期间根本不应该被调用。
事实证明,他们调用文件的原因是因为他们在导入我urls.py
的文件中,并且由于某种原因,Django正在加载这些网址。
Django是否有必要加载网址,即使迁移不依赖于它们,是否有任何方法可以防止它们被加载?
答案 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