繁体   English   中英

Django:related_name反向访问器

[英]Django: related_name Reverse accessor

我有一个模型,其中InstitutePerson是Person的子类。

    • 研究所人员
  • 项目

在项目中:

participants_institite = models.ManyToManyField(InstitutePerson, blank = True, null = True)
participants_exterior = models.ManyToManyField(Person, blank = True, null = True)

我收到一个错误:

Project.participants_institute: (fields.E304) Reverse accessor for 'Project.participants_institute' clashes with reverse accesor for 'Project.participants_exterior'.

我以为related_name可以解决问题,但是在看到一些帖子之后( related_name参数在Django模型中无法正常工作? ),由于类之间的继承,我不确定如何继续。

使用related_name arg并手动定义它https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey.related_name

如果您有两个具有相同类型的M2M字段,则Django无法自动在目标modela上生成属性。

如果您不在相反的方向上,您可以简单地选择

models.ManyToManyField(..., related_name='+r1') models.ManyToManyField(..., related_name='+r2')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM