Django: можно ли сохранить модель из двух модельформ?

Я решил организовать свою страницу, используя две разделенные формы для построения единой модели:

class MandateForm1(forms.ModelForm):
    class Meta:
        model = Mandate
        fields = ("field_a", "field_b"),

class MandateForm2(forms.ModelForm):
    class Meta:
        model = Mandate
        fields = ("field_c", "field_d"),

На мой взгляд, получилось бы что-то вроде:

form_1 = MandateForm1(request.POST)
form_2 = MandateForm2(request.POST)

Как я могу создать свою модель, используя метод Form save()? В качестве текущего обходного пути я использую Mandate.objects.create(**form_1.cleaned_data, **form_2.cleaned_data). Недостатком является то, что мне нужно вручную обрабатывать M2M с помощью этого метода.

Спасибо.

По тому, как вы сформулировали вопрос, все это отправляется в одном POST с одной страницы. Если это так, то вы можете сделать что-то вроде:

if request.method == "POST" and form1.is_valid() and form2.is_valid():
    form1.instance.field_c = form2.instance.field_c
    form1.instance.field_d = form2.instance.field_d
    form1.save()
Вернуться на верх