向同一个模型的外键反向关联名称产生了冲突 Django迁移

向同一个模型的外键反向关联名称产生了冲突

一个模型中有两个外键指向同一张表时,创建迁移模型时报错:“ HINT: Add or change a related_name argument to the definition for 'AnswersModel.author' or 'AnswersModel.relay_to'.”解决方案
class AnswersModel(models.Model):
author = models.ForeignKey(FrontUserModel,null=True,related_name='answers_user')
……
relay_to = models.ForeignKey(FrontUserModel,null=True,related_name='relay_to_user')

当模型执行迁移时会报:HINT: Add or change a related_name argument to the definition for 'AnswersModel.author' or 'AnswersModel.relay_to错误。
原因是因为author 和relay_to字段指向同一个模型的外键反向关联名称产生了冲突。
FrontUserModel模型对author的反向关联名称为AnswersModel_set() 。
FrontUserModel模型对relay_to的反向关联名称为AnswersModel_set()。
因此,需要给外键增加related_name属性,自定义关联名称。

Django迁移

不同环境数据的一致性

posted @ 2017-05-17 19:59  papering  阅读(241)  评论(0编辑  收藏  举报