Django syncdb错误:一个或多个模型未验证 [英] Django syncdb error: One or more models did not validate

查看:122
本文介绍了Django syncdb错误:一个或多个模型未验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

/ mysite / project4

 类笔记(models.Model):
created_by = models.ForeignKey )
detail = models.ForeignKey(Details)

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

  class User():
。 .....

class Details():
...

当我同步DB时出现错误说



错误:一个或多个模型未验证:
project4:现场细节的访问者与相关字段冲突。在detail的定义中添加一个related_name参数。



如何解决..



谢谢..

解决方案

我回答了...



你有一些外键,django无法为...生成唯一的名称。



您可以通过在模型中的foreignkey字段定义中添加related_name参数来帮助您。例如:

 类笔记(models.Model):
created_by = models.ForeignKey(User,related_name =note_created_by_user )
detail = models.ForeignKey(Details,related_name =dated_and_detailed)

这里更多。 http://docs.djangoproject。 com / en / dev / ref / models / fields /#django.db.models.ForeignKey.related_name


/mysite/project4

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

Details and User are in the same module i.e,/mysite/project1 In project1 models i have defined

   class User():
      ......

   class Details():
      ......

When DB i synced there is an error saying

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'.

How can this be solved..

thanks..

解决方案

Gee we just had this one; and I answered...

You have a number of foreign keys which django is unable to generate unique names for.

You can help out by adding "related_name" arguments to the foreignkey field definitions in your models. Eg:

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

See here for more. http://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey.related_name

这篇关于Django syncdb错误:一个或多个模型未验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆