'formset'或'form'是否有'save'方法?(不是模型窗体或模型窗体工厂)



这是我的forms.py文件:

class MyForm(forms.Form):
    data = forms.CharField()
    def clean(self):
        if any(self.errors):
            return
        value = self.cleaned_data['data']
        if int(value) % 2 != 0:
            raise forms.ValidationError(_("Please enter an even number"))

这是我的views.py文件:

def modelform(request):
    AuthorFormSet = formset_factory(MyForm, formset=BaseAuthorFormSet, extra=3)
    if request.method == 'POST':
        forms = AuthorFormSet(request.POST)
        if forms.is_valid():
            #forms.save() --> IS THERE A SAVE() METHOD ON FORMSET ? 
            return HttpResponse("Saved successfullly")
    else:
        forms = AuthorFormSet()
    context = {
        'form' : forms,
        'non_form_errors' : forms.non_form_errors(),
    }
    return render(request, 'modelform.html', context)  

我想知道的是,我们可以为窗体集做一些类似于views.py文件中的'forms.save()'的事情吗?

如果它只是一个表单,我们能做保存方法吗?

你是对的,formset有save()方法,所以只需调用:

if forms.is_valid():
    forms.save()

查看django文档中关于在视图中使用模型表单集的内容。

最新更新