2
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 的内联。

我到处搜索,但内联显示给出了相反的关系。就像一个有外键三的地方。不是我想要的相反。

4

1 回答 1

0

相当简单:

您的模型“坏了”,三个只能有 1 个 1 和 1 个 2。

您可以为一个和两个实体提供三个列表。

如果你反转外键,改变它们所在的模型(都指向@三)

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

class TwoToThreeInline(admin.StackedInline):
    fk_name = 'three'
    model = Two
于 2013-03-11T14:04:12.820 回答