Django:运行自定义命令时跳过系统检查

时间:2015-10-26 15:31:04

标签: python django

我已经为使用Django 1.6.11开发的应用程序添加了自定义管理命令。这个命令,我们称之为initdb,执行一系列特定操作:

  • 检查来自settings.py的数据库和用户是否存在,如果不存在,则设置适当的字符集,授予访问权限等。
  • 执行syncdb
  • 加载特定数据库转储

换句话说,从总零开始快速数据库初始化非常方便。

现在,我正在迁移到Django 1.8.5并且我注意到的一件事是,在几乎每个命令之前,Django会自动从新的系统检查框架执行check命令,其中其他东西检查数据库/用户表单settings.py是否存在。这导致我无法运行自定义命令的情况,因为自动检查会抛出无法访问数据库的异常(事实上,我的自定义命令应该创建它)。

有没有办法强制跳过Django自动check,至少在自定义管理命令中?

1 个答案:

答案 0 :(得分:6)

是的,这是fully documented;在Command子类中将requires_system_checks属性设置为False。