0
我是django的新手,我有以下代碼片段。我在這裏要做的是獲取一些表單字段的值,將其與字符串進行比較,如果找到匹配,則將該值保存在不同的模型中。未能將表單的數據保存到不同的模型
def log_name_insert(request):
if 'logged_in' in request.session:
if request.session['logged_in'] is True:
form = LogEntryForm(request.POST or None)
phaseform = PhaseNameForm(request.POST or None)
testForm = TestTypeForm(request.POST or None)
priorityForm = PriorityNameForm(request.POST or None)
frequencyForm = FrequencyNameForm(request.POST or None)
statusForm = StatusNameForm(request.POST or None)
defectSeverityForm = DefectSeverityNameForm(request.POST or None)
causeCategoryForm = CauseCategoryNameForm(request.POST or None)
leakagePhaseForm = LeakagePhaseNameForm(request.POST or None)
testStatusForm = TestStatusNameForm(request.POST or None)
# print(form)
if form.is_valid() and phaseform.is_valid() and testForm.is_valid() and priorityForm.is_valid() and frequencyForm.is_valid() and defectSeverityForm.is_valid() and causeCategoryForm.is_valid() and leakagePhaseForm.is_valid() and testStatusForm.is_valid() and statusForm.is_valid():
if LogEntry.objects.filter(log_name_add=request.POST['log_name_add']).exists():
print("entry found")
else:
form.save()
print(form.cleaned_data['log_name'])
if form.cleaned_data['log_name'] == "Phase":
print(form.cleaned_data['log_name'])
obj = PhaseList()
phaseform.cleaned_data['phase_name'] = form.cleaned_data['log_name_add']
obj.phase_name = phaseform.cleaned_data['phase_name']
obj.save()
if form.cleaned_data['log_name'] == "Test Type":
obj = TestTypeList()
testForm.cleaned_data['test_type'] = form.cleaned_data['log_name_add']
obj.test_type = testForm.cleaned_data['test_type']
obj.save()
if form.cleaned_data['log_name'] == "Priority":
obj = PriorityList()
priorityForm.cleaned_data['priority_name'] = form.cleaned_data['log_name_add']
obj.priority_name = priorityForm.cleaned_data['priority_name']
obj.save()
if form.cleaned_data['log_name'] == "Frequency":
obj = FrequencyList()
frequencyForm.cleaned_data['frequency_name'] = form.cleaned_data['log_name_add']
obj.frequency_name = frequencyForm.cleaned_data['frequency_name']
obj.save()
if form.cleaned_data['log_name'] == "Status":
obj = StatusList()
statusForm.cleaned_data['status_name'] = form.cleaned_data['log_name_add']
obj.status_name = statusForm.cleaned_data['status_name']
obj.save()
if form.cleaned_data['log_name'] == "Defect Severity":
obj = DefectSeverityList()
defectSeverityForm.cleaned_data['defect_severity_name'] = form.cleaned_data['log_name_add']
obj.defect_severity_name = defectSeverityForm.cleaned_data['defect_severity_name']
obj.save()
if form.cleaned_data['log_name'] == "Cauese Category":
obj = CauseCategoryList()
causeCategoryForm.cleaned_data['cause_category_name'] = form.cleaned_data['log_name_add']
obj.cause_category_name = causeCategoryForm.cleaned_data['cause_category_name']
obj.save()
if form.cleaned_data['log_name'] == "Leakage Phase":
obj = LeakagePhaseList()
leakagePhaseForm.cleaned_data['leakage_phase_name'] = form.cleaned_data['log_name_add']
obj.leakage_phase_name = leakagePhaseForm.cleaned_data['leakage_phase_name']
obj.save()
if form.cleaned_data['log_name'] == "Test Status":
obj = TestStatusList()
testStatusForm.cleaned_data['test_status_name'] = form.cleaned_data['log_name_add']
obj.test_status_name = testStatusForm.cleaned_data['test_status_name']
obj.save()
messages.success(request, 'Data Saved')
return redirect('defectlog:log_name_list')
else:
messages.error(request, 'Wrong data in form')
return redirect('defectlog:log_name_insert')
else:
return redirect('defectlog:login')
現在,無論何時我嘗試執行它,我的頁面都會因爲重定向太多而停止加載。是否因爲我一次試圖驗證太多形式?此外,我認爲我正在以錯誤的方式比較這些值。如果我在這裏做錯了任何事,請幫助我。謝謝。