我正在尝试从Django 1.6更新到1.7。自更新以来,我开始收到大量错误,因为看似所有使用字符串样式引用的ForeignKey或M2M字段,如'app.Model',如下所示:
错误如下:
app.NotificationSettings.st_user:(fields.E300)字段定义了一个 与模型'account.STUser'的关系,未安装, 或者是抽象的。
使用ForeignKey的模型本身如下所示:
class NotificationSettings(models.Model):
st_user = models.ForeignKey('account.STUser')
帐户应用程序包含在我的设置文件中的INSTALLED_APPS中,因此我不确定为什么会认为此模型未安装。我已经尝试将字符串样式引用交换为在导入后引用实际的模型类,这似乎可以防止该字段的错误,但后来我遇到了一系列循环依赖问题。
我在这里找到了一个类似的问题,但是给定的解决方案已经是如何定义导致错误的字段所以它没有帮助:
https://docs.djangoproject.com/en/1.7/ref/models/fields/#django.db.models.ForeignKey
这些错误似乎与Django 1.7发行说明中记录的(fields.E300) Field defines a relation with model which is either not installed, or is abstract有关,但我没有找到任何关于可能需要对ForeignKey或M2M字段表示法进行更改的具体文档。
我有什么东西可以解决这些错误吗? 提前谢谢。