Django ModelFormset验证E

2024-10-01 02:34:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我收到验证错误:['ManagementForm数据丢失或已被篡改']

然而,当我试图提交一个modelformset表单时,我似乎无法理解为什么会发生这种情况。在

代码:

在--视图.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})

模板:

^{pr2}$

—表单.py在

class UpdateForm(ModelForm):

class Meta:
    model = Employee
    fields=('empid','forename','surname')

如您所见,我的模板中有管理表单,因此不确定是什么导致了此错误。只有当我试图提交表单集时才会发生。在

错误似乎发生在视图中的行上-如果formset.is\u有效吗():


Tags: pyform视图id表单ifisrequest
1条回答
网友
1楼 · 发布于 2024-10-01 02:34:28

问题是您对GET和POST请求使用了不同的前缀。当您提交表单时,管理表单数据被忽略,因为它有错误的前缀,所以您得到ManagementForm data is missing or has been tampered with错误。在

相关问题 更多 >