我如何在 Django 的 SingleView 中拥有多个 ModelForms?

How Do I Have Multiple ModelForms In Django in A SingleView?

我正在尝试创建一个项目,其中我有一个将一组数据作为输入的模型表单。 但这不是问题,我如何拥有单一模型形式的多种形式。

我试过使用这样的东西

from .forms import BookForm
# Create your views here.
def home_page(request):
    context = {}
    form = BookForm(request.POST or None)
    form1 = BookForm(request.POST or None)
    if form.is_valid():
        form.save()
    if form1.is_valid():
        form1.save()
    context['form']= form 
    context['form1']= form1 
    return render(request, "home.html", context)

但是发生的是在最后一个表单中传递的数据在所有表单中传递。 我如何在 Django 中实现此功能在单个视图中处理多个表单,单击按钮即可提交

您可以在 django 中使用 formsets

由于您使用的是模型表单,因此您可以使用称为 model formsets 的东西和称为 modelformset_factory 的东西。

基本上,表单集可以帮助您获得表单列表。想象一下,您的单个表单现在变成了表单列表。

查看此 link 以获得教程

如果您需要更多解释,请告诉我