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()