1
一个多到多,从一个叫资源模型本身通过一个名为RelatedResource中介型关系:多ForeignKeys许多一对多的关系我有相同型号
class Resource(TimeStampedModel):
title = models.CharField(max_length=100, unique=True) # book title, person's name, video title, etc.
description = models.TextField(max_length=500, null=True, blank=True)
link = models.URLField(max_length=500, blank=True, null=True) # dynamically generated for youtube and amazon; todo: uniqueness
resourceID = models.CharField(max_length=20, blank=True, null=True) # todo: uniqueness
picture = models.URLField(max_length=500, blank=True)
tags = TaggableManager()
...
class RelatedResource(models.Model):
input = models.ForeignKey(Resource, related_name="input_resource")
output = models.ForeignKey(Resource, related_name="output_resource")
input_affiliate = models.ForeignKey(Resource, related_name="while_with", blank=True, null=True)
reason = models.CharField(max_length=500)
...
Django抱怨说拥有两个以上的外键给Resource是不明确的,因为它不知道三个ForeignKey字段中的哪两个应用在多对多关系中。
有没有什么办法可以让所有3个ForeignKey的领域在中介模式和告诉Django其中2个都是为了许多一对多的关系?
看起来像递归关系是多对一的。我需要M2M。 我最终摆脱了M2M的关系,并保持3个ForeignKey的关系。到目前为止,这工作得很好。 – m52go