要从Django Admin后台一个页面同时编辑多个对象,我们需要使用内联。
假设你有一个Category模型,并且需要在Admin后台Category编辑页面,同时编辑Villain模型。你可以在admin.py中使用内联:
class VillainInline(admin.StackedInline):
model = Villain
@admin.register(Category)
class CategoryAdmin(admin.ModelAdmin):
...
inlines = [VillainInline]
你可以在后台Category编辑页面内部看到添加和编辑Villain的表单。如果Inline包含很多个模型,建议使用使用StackedInline,如果字段较少可以使用TabularInline。
显示效果如下:
以下是来自文心一言的补充:
在您提供的代码片段中,您定义了一个`VillainInline`类,该类继承自`admin.StackedInline`,用于在Django管理界面中将`Villain`模型作为内联(inline)表单展示在`Category`模型的编辑页面上。然后,您注册了一个`CategoryAdmin`类来管理`Category`模型,并在该类中通过`inlines`属性指定了`V