代码之家  ›  专栏  ›  技术社区  ›  laz

使用GenericForeignKey在模型的管理窗体中显示相关内联线

  •  0
  • laz  · 技术社区  · 6 年前

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

    内联显示非常简单 图像链接 产品 . 这是证明 in the Django docs .

    有人能告诉我你是怎么联系的吗 图像链接 模型

    重要更新: 更新了模型的示例,因为正如Daniel所说,它不需要内联显示对象。

    2 回复  |  直到 15 年前
        1
  •  1
  •   ramusus    15 年前

    这是必要的 泛型 为了展示 对象内联到 产品 形式,如中所示 Django docs

    但是如果我们需要展示相关的 图像链接 形象 表单,它可以用简单的 管理列表行

    这是一个非常简单的解决方案。我觉得我不马上猜出来是愚蠢的。

        2
  •  0
  •   Daniel Roseman    15 年前

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