【问题标题】:Django syncdb error: One or more models did not validateDjango syncdb 错误:一个或多个模型未验证
【发布时间】:2011-02-06 04:08:15
【问题描述】:

/mysite/project4

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

详细信息和用户在同一个模块中,即/mysite/project1 在我定义的 project1 模型中

   class User():
      ......

   class Details():
      ......

当我同步数据库时出现错误提示

Error: One or more models did not validate: project4: Accessor for field 'detail' clashes with related field . Add a related_name argument to the definition for 'detail'.

如何解决..

谢谢..

【问题讨论】:

  • 如果它对任何人都有用,我会遇到同样的错误,因为我使用的是第 3 方库 taggit,我已引用但未放入已安装的应用程序类别。

标签: python django django-models django-views


【解决方案1】:

天啊,我们刚刚有了这个;我回答了...

您有许多外键,django 无法为其生成唯一名称。

您可以通过在模型中的外键字段定义中添加“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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-13
    • 2014-03-07
    • 1970-01-01
    • 2015-02-08
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多