这是我的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文档中关于在视图中使用模型表单集的内容。