我有一个模型,其中包含可变长度的对象列表。我希望能够在表单中编辑此模型,并在同一表单中编辑列表中的每个关联对象。
我已经研究过表单集,这可能是处理列表中多个对象的表单的一种方法,但是从 django 文档和在线搜索来看,我如何将其集成到父对象的表单中并不明显。 Django 中对此的最佳实践方法是什么?
为此,您可以使用 TabularInline 或 StackedInline。
#admin.py
from django.contrib import admin
class PostInlines(admin.TabularInline):
model = Post
fields = ["title"]
extra = 1
@admin.register(Category)
class CategoryAdmin(admin.ModelAdmin):
...
inlines = [PostInlines]
在此类别之后(从关系一到多),您将可以访问子对象,包括更新它们。