【发布时间】:2017-09-06 12:28:27
【问题描述】:
我收到验证错误:['ManagementForm 数据丢失或已被篡改']
当尝试提交模型表单集表单时,我似乎无法弄清楚为什么会发生这种情况。
代码:
--views.py
def formset_view(request):
EmpFormSet = modelformset_factory(Employee,form=UpdateForm,extra = 0)
if request.method == 'POST':
formset = EmpFormSet(request.POST, queryset = Employee.objects.filter(companyid__company_user__id = request.user.id, prefix='formsettest')
if formset.is_valid():
for form in formset.forms:
if form.is_valid():
form.save()
redirect('/home/')
else:
formset = EmpFormSet(queryset = Employee.objects.filter(companyid__company_user__id = request.user.id, prefix = 'form2')
return render(request, 'emp_update_list.html', {'formset': formset})
模板:
<form action="" method="post">
{% csrf_token %}
{{ formset.management_form }}
{{ formset.as_table }}
<button type="submit" name="action" value="Submit">Submit</button>
</form>
--forms.py
class UpdateForm(ModelForm):
class Meta:
model = Employee
fields=('empid','forename','surname')
如您所见,我的模板中有管理表单,因此不确定导致此错误的原因。只有当我尝试提交表单集时才会发生这种情况。
错误似乎发生在视图中的行 - if formset.is_valid():
【问题讨论】:
标签: python django django-forms