如果模型 (A) 依赖于所定义的模型 (B),但模型 (B) 也依赖于所定义的模型 (A),那么如何处理这种情况?
例如,我有
class event(models.Model):
competition_start = models.DateField()
competitors = models.ManyToManyField(picture)
results = models.CommaSeparatedIntegerField(max_length=20)
class picture(models.Model):
uploader = models.OneToOneField(UserProfile)
upload_date = models.DateField()
image = models.ImageField(upload_to="media")
score = models.DecimalField(max_digits=10,decimal_places=10)
score_RD = models.DecimalField(max_digits=10,decimal_places=10)
rated = models.BooleanField()
last_competed = models.DateField()
competition = models.OneToOneField(event)
竞争者领域依赖于被定义的图片,而图片依赖于被定义的事件。
请注意,每个图片 (A) 与一个事件共享一对一的关系,但该事件可以涉及多个其他图片 (set(S)-A)。
我尝试换成推杆
competitors = models.ManyToManyField(picture)
user_pic = models.OneToOneField(picture)
在事件内部并去掉“竞争”字段,但我相信 SQL 不允许这样做。有人可以解释为什么吗?
如果我需要一个字段的 OneToOne 关系并且
与另一个的多对多关系? (两个相同班级之间)
谢谢 :)
您可以将类名的字符串传递给定义OneToOne
and ForeignKey
并对其进行“惰性”评估。
competitors = models.ManyToManyField('picture')
此外,模型类名称的约定是驼峰式大小写(例如“图片”=>“图片”、“事件”=>“事件”)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)