使用GenericForeignKey在模型表单上显示admin中的相关内联

时间:2009-07-21 16:06:14

标签: django django-admin

我有来自this example at the Django Project的通用关系的简单模型:

class Image(models.Model):
    image = models.ImageField(upload_to="images")

class ImageLink(models.Model):
    image = models.ForeignKey(Image)
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey("content_type", "object_id")

class Product(models.Model):
    name = models.CharField(max_length=100)

产品的管理表单上显示内联 ImageLink 对象非常简单。它被证明是in the Django docs

有人可以建议如何在 Image 模型的管理表单中内联 ImageLinks 吗?

重要更新:更新了模型示例,正如Daniel先生所说的那样,不需要内联显示对象。

2 个答案:

答案 0 :(得分:1)

必须使用 generic.GenericTabularInline 产品表单中内联显示 ImageLink 对象,如Django docs所示。

但是如果我们需要在 Image 表单上内联显示相关的 ImageLink ,可以使用 admin.TabularInline 类的简单子项来完成

这是一个非常简单的解决方案。我想我不会立即猜测它是愚蠢的。

答案 1 :(得分:0)

您没有任何内联展示的相关产品。与普通外键一样,通用外键是一对多的,关系的“一”侧是包含外键字段的外键。因此,在您的情况下,每个图像仍然只有一个产品,因此没有内联集显示。