无论DEBUG为True,无论是在Apache上的生产环境还是在Django开发服务器上的本地环境,我都不会出现错误。这使我问:Django DEBUG在幕后做的所有魔术是什么? documentation对此没有太多信息。
现在该错误。我了解以下说明对于任何人都无法复制,但是我有保护的知识产权,而且我对复制该错误没有太大希望。
假设我有一个至少包含两个应用程序的Django项目,一个模型A的应用程序alice和一个模型B的应用程序bob。
我正在使用django-extra-views中的UpdateWithInlinesView。当此视图从模型A的实例构造一个表单集时,就会发生错误。在有关服务器错误的电子邮件中,我收到如下消息:
FieldError位于/ some / url / 无法将关键字“ field_of_A”解析为字段。选项包括:field_of_B_1,field_of_B_2,field_of_B_3
我以前遇到过此类错误。当您告诉表单“我正在使用模型C”和“我正在使用名为debbie的字段”并且模型C没有名为debbie的字段时,通常会发生这种情况。那部分是有道理的。但是,此错误使它看起来好像在应检查模型A时正在对模型B的字段名称进行检查。我一直在绞尽脑汁,试图弄清世界上从一个模型构造表单将如何参考另一个模型。来自其他应用的模型。
此外,这种情况在大多数情况下不会发生,在服务器重新启动时会消失,并且在DEBUG = True下也不会发生。因此,我想知道这是否是应用程序注册表问题,某种竞态条件会使注册表摆脱重创。如果是这样,那么我可能会更好地了解应用程序注册表或了解DEBUG的作用。