Django syncdb错误:一个或多个模型未通过验证

6 投票
1 回答
6576 浏览
提问于 2025-04-15 21:25

/mysite/project4

 class notes(models.Model):
   created_by = models.ForeignKey(User)
   detail = models.ForeignKey(Details) 

Details和User在同一个模块,也就是/mysite/project1。在project1的模型中,我定义了

   class User():
      ......

   class Details():
      ......

当我同步数据库时,出现了一个错误,提示

错误:一个或多个模型没有通过验证:project4: 字段'detail'的访问器与相关字段冲突。请在'detail'的定义中添加一个related_name参数。

这个问题怎么解决呢..

谢谢..

1 个回答

8

哎呀,我们刚讨论过这个问题,我已经回答过了...

你有一些外键,Django(一个流行的Python框架)无法为它们生成唯一的名字。

你可以通过在模型中的外键字段定义里添加“related_name”参数来帮助解决这个问题。例如:

 class notes(models.Model):
    created_by = models.ForeignKey(User, related_name="note_created_by_user")
    detail = models.ForeignKey(Details, related_name="noted_and_detailed")

想了解更多,可以查看这里。 http://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey.related_name

撰写回答