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

Editing model ForeignKey as inline in Django administration?

假设我们有以下 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 的外键关系。我不想介绍这种关系。

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

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

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

然后就可以随意管理了。

看看这个工具 - https://djangosnippets.org/snippets/2032/

为此实现"reverse inlines"的模块 用例。