У меня две формы в двух разных вкладках в одном шаблоне. Модели форм связаны через внешний ключ.Django: Сохраняет формы независимо
Когда я пытаюсь сохранить каждую форму независимо от кнопки отправки для каждой формы, но, к сожалению, две формы снова пытаются сохранить данные, даже я нажимаю только одну кнопку отправки.
Views.py
def input(request):
my_demographics = DemographicForm(request.POST or None)
my_diagnosis = DiagnosisForm(request.POST or None)
context = RequestContext(request)
if request.method == 'POST':
submitted = request.POST.get('form_id', '')
if submitted == 'demographics':
# Get the Form1 instance
my_demographics = DemographicForm(request.POST)
if my_demographics.is_valid():
my_demographics_object= my_demographics.save()
my_diagnosis=DiagnosisForm({'patient': my_demographics_object.patient_id})
elif submitted == 'diagnosis':
# Get the Form2 instance
my_diagnosis = DiagnosisForm(request.POST)
if my_diagnosis.is_valid():
my_diagnosis.save()
else:
raise ValueError('No form specified !')
return render_to_response('input.html', {'frm':my_demographics, 'frm_d': my_diagnosis}, context)
input.html
<div class="tab-content">
<!-- Tab panes -->
<form class="tab-pane fade in active" id="demographics" method="post" >
<input type="hidden" name="form_id" value="demographics">
{%crispy frm%}
</form>
<form class="tab-pane fade" id="diagnosis" method="post">
<input type="hidden" name="form_id" value="diagnosis">
{%crispy frm_d%}
</form>
</div>
возможно дубликат [Правильный способ обработки нескольких форм на одной странице в Django] (http://stackoverflow.com/questions/1395807/proper-way-to-handle-multiple -forms-on-one-page-in-django) – madzohan
Не совсем, OP хочет представить оба из них с той же формой, и связанный вопрос касается обработки нескольких сообщений на одной странице! –
Я думаю, что вы неправильно поняли вопрос - «... пытаться сохранить каждую форму независимо от кнопки отправки для каждой формы ...» – Brandon