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