Django管理员:多对一关系,并从现有的“一个”

时间:2017-09-20 11:19:52

标签: django

的Django == 1.11.5

我有两种模式:

class Sheet(models.Model):
    canonical_image = models.ForeignKey('images.Image',
                                   blank=True,
                                   null=True,
                                   on_delete=models.PROTECT,
                                   related_name="%(app_label)s_%(class)s_related", 
                                   verbose_name=_("canonical image"))


class Image(models.Model):

    sheet = models.ForeignKey(Sheet,
                              on_delete=models.PROTECT,
                              verbose_name=_("sheet"))
    pass

我为Django admin注册了模型。

现在,当我在admin中更改工作表时,我会看到“Canonical image”和一个加号按钮来添加图像。

如果我按加号按钮,则会出现一个用于创建新图像的表单。 并且会有一个带有选择表的下拉列表。那里有一堆床单。

这很笨拙。我按一张明确的表格加号。应选择该表以创建新图像。

你能告诉我如何解决这个问题。也许是为了限制对特定表格的选择。或者从图像创建表单中删除表单并将其替换为input type =“hidden”。

或者别的什么。越容易越好。

1 个答案:

答案 0 :(得分:1)

这应该是一个评论,但我没有足够的分数。

但是你有没有想过创建一个ModelAdminDjango doc

ModelAdmin课程中,您还可以为其他模型添加内联,这些内联链接到您附加ModelAdmin的模型,或者当前模型链接到的模型。