在Django管理中将模型ForeignKey编辑为内联?

时间:2016-02-07 00:34:04

标签: python django django-models django-forms django-admin

让我们想象一下,我们有以下Django示例模型:

class A(models.Model):
    title = model.CharField(max_length=64)
    b = models.ForeignKey(B, blank=True, null=True)


class B(models.Model):
    name = models.CharField(max_length=64)
    age = models.IntegerField()

在Django管理中,字段A.b将被表示为下拉窗口小部件,其中包含用于添加新B实例,编辑和删除实例的控件。

我想展示类似于内联方式的B模型。但是,为了显示内联,我们需要从B.aA的外键关系。而且我不想引入这种关系。

是否可以在B模型管理页面中代表A作为内联?

2 个答案:

答案 0 :(得分:1)

查看此工具 - https://djangosnippets.org/snippets/2032/

实现"反向内联的模块"为了这 用例。

答案 1 :(得分:-1)

如果您想知道哪个B模型链接到具体的A模型(反向查询),您可以这样做:

b = B.objects.get(id=any_id)
a = b.a_set.all()

然后你可以按照自己的意愿管理它。