【问题标题】:Show related inlines in the admin on form of model with GenericForeignKey使用 GenericForeignKey 在模型形式的管理员中显示相关内联
【发布时间】:2009-07-21 16:06:13
【问题描述】:

我有来自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)

Product 的管理表单上显示内联 ImageLink 对象非常简单。演示了in the Django docs

谁能建议如何在 Image 模型的管理表单中内嵌相关 ImageLinks

重要更新:更新了模型示例,与之前的一样,正如丹尼尔所说,不需要内联显示对象。

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    必须使用 generic.GenericTabularInlineProduct 表单中内嵌显示 ImageLink 对象,如 Django docs 所示。

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

    这是非常简单的解决方案。我想我很愚蠢,不马上猜出来。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 你完全正确。我的例子有错误。我现在知道如何解决我的问题了。
      猜你喜欢
      • 1970-01-01
      • 2019-05-10
      • 2019-05-14
      • 1970-01-01
      • 2021-04-16
      • 2023-03-24
      • 2019-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多