Django管理员内联显示但外键有相反的关系

时间:2013-03-11 13:27:24

标签: django django-models python-2.7 django-forms django-admin

class One(models.Model):
    image = models.ImageField(upload_to="images")
    summary = models.TextField()

    def __unicode__(self):
        return self.summary


class Two(models.Model):
    image = models.ImageField(upload_to="images")
    title = models.CharField(max_length=50)

    def __unicode__(self):
        return self.title


class Three(models.Model):



  one = models.ForeignKey(One, related_name='one_home')
    two = models.ForeignKey(Two, related_name='two_home')

    def __unicode__(self):
        return self.tile

现在我想要的是在Django Admin中将One和Two显示为Three inlines。

我到处搜索,但内联显示是为了相反的关系。比如哪里有三个外键。不是我想要的其他方式。

1 个答案:

答案 0 :(得分:0)

相当简单:

你的模型“破碎”,三个只有1个和1个。

对于One an Two实体,您可以有三个列表。

如果您反转外键,请更改它们所在的模型(均指向@ 3)

class OneToThreeInline(admin.StackedInline):
    fk_name = 'three'
    model = One

class TwoToThreeInline(admin.StackedInline):
    fk_name = 'three'
    model = Two