在 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.a
到 A
的外键关系。我不想介绍这种关系。
是否可以在 A
模型管理页面中将 B
表示为内联?
如果你想知道哪个B模型链接到具体的A模型(反向查询),你可以这样做:
b = B.objects.get(id=any_id)
a = b.a_set.all()
然后就可以随意管理了。
看看这个工具 - https://djangosnippets.org/snippets/2032/
为此实现"reverse inlines"的模块
用例。
假设我们有以下 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.a
到 A
的外键关系。我不想介绍这种关系。
是否可以在 A
模型管理页面中将 B
表示为内联?
如果你想知道哪个B模型链接到具体的A模型(反向查询),你可以这样做:
b = B.objects.get(id=any_id)
a = b.a_set.all()
然后就可以随意管理了。
看看这个工具 - https://djangosnippets.org/snippets/2032/
为此实现"reverse inlines"的模块 用例。