Как правильно отправить две формы в одной HTML-структуре?

Я пытаюсь отправить представление create с двумя формами. Приведенный ниже код работает нормально, если все заполнено и форма отправлена. Однако если в форме2 опущены поля... отправка формы не происходит и поле, которое было заполнено для "формы"... "имя".... сбрасывается. Я читал, что можно сделать несколько форм, и в целом у меня это работает... мне просто нужно понять, как включить форму2 в if_valid()..... Вот мой вид...

def tasklist_detail_view(request, id):
    context = {}
    context["tasklist"] = TaskList.objects.get(id=id)
    context["tasks"] = Task.objects.filter(task_list=id).all()

    obj = get_object_or_404(TaskList, id=id)
    form = UpdateTaskListForm(request.POST or None, instance=obj)
    form2 = TaskForm(request.POST or None)
    context["task_list_id"] = id

    if form.is_valid():
        form.save()
        return HttpResponseRedirect(reverse("MyTaskLists:my_task_list_main_menu"))

    context["form"] = form
    context["form2"] = form2

    return render(request, "my_task_list_tasklist_detail.html", context)

Мой HTML...

<form method="POST" enctype="multipart/form-data" id="forms">
 {% csrf_token %}
 
   {{ form.name }}
       
   {% include "my_task_list_task_create_form1.html" with tasklist=tasklist %}
  
   <button type="submit" class="button66" name="status" value="Submitted">Submit</button>
    
 </form>

А затем в моем include HTML...

<div id="task-list-form" hx-target="this" hx-swap="outerHTML">    
        
<button class="button35" hx-post="{% url 'MyTaskLists:task-create' id=task_list_id %}">Save</button>
               
    {{ form2 }}
               

Я пытался сделать что-то вроде....

if form.is_valid() and form2.is_valid():
    form.save()
    return HttpResponseRedirect(reverse("MyTaskLists:my_task_list_main_menu"))

Но потом ничего не происходит... формы не принимаются вообще, даже если поля заполнены правильно.... Из того, что я прочитал, я понял, что POST применяется к обеим формам.... если одна не заполнена правильно, поэтому другая выдает ошибку? Я просто не могу понять, как правильно обработать их обе.

Заранее спасибо за любые мысли.

Если вы хотите, чтобы две формы вели себя как одна форма, и сохраняли два объекта только в том случае, если обе формы действительны, то логика такова

if form.is_valid() and form2.is_valid():
    form.save()
    form2.save()
    return HttpResponseRedirect(reverse("MyTaskLists:my_task_list_main_menu"))

context["form"] = form
context["form2"] = form2
return render(request, "my_task_list_tasklist_detail.html", context)

Если в form и form2 есть поле с одинаковым именем, необходимо использовать префикс, чтобы устранить двусмысленность.

form = UpdateTaskListForm(request.POST or None, instance=obj, prefix='form1')
form2 = TaskForm(request.POST or None, prefix='form2')
Вернуться на верх