我有這樣的代碼:Python/Django - 間接雙向m2m關係?
class Reference(models.Model):
title = models.CharField(max_length=200, verbose_name = _('title'))
def __unicode__(self):
return u"%s" % (self.title)
class Meta:
verbose_name = _('bibliographic reference')
verbose_name_plural = _('bibliographic references')
class Relation(models.Model):
reference = models.ForeignKey(Reference)
circuit = models.ManyToManyField('Circuit', related_name = 'relation_circuit', verbose_name = _('Circuits'))
def __unicode__(self):
return u"%s " %(self.reference)
class Meta:
verbose_name = _('relation')
verbose_name_plural = _('relations')
class Circuit(models.Model):
name = models.CharField(max_length=200, verbose_name = _('name'))
reference = models.ManyToManyField(Relation, through=Relation.circuit.through, related_name='relation_circuit', verbose_name = _('Bibliographic References'))
def __unicode__(self):
return u"%s" % (self.name)
class Meta:
verbose_name = _('circuit')
verbose_name_plural = _('circuits')
關係被示出爲與參考內嵌。 我需要在我的Circuits和References之間創建一個雙向關係,但是我不知道如何顯示我的所有引用,而不是隻顯示那些有關係的人,因爲他們之間有Relation。
有人可以幫助我嗎?
非常感謝。
你有什麼理由不能使用直通表嗎?如在https://docs.djangoproject.com/en/dev/topics/db/models/中一樣? –
這段代碼很奇怪,至少可以說。你能用自己的話來描述你實際上想要達到的目標嗎?如果你想繪製更有用的ERD。 – vartec
我認爲不是。我發佈的解決方案使用了直通表,但是當我在Circuits中時,我只能看到那些有關係的引用,而不是我參考模型中的所有引用。也許我可以用其他方式定義直通表,但我不知道如何。任何想法? :) – user3350963