我希望用户在我的表单集中填写 3 个表单,我的前端表单集中当然只有 3 个表单,但我想确保用户不会制作自己的 POST。我想出了这个:
class ThisFormset(BaseInlineFormSet):
def clean(self):
results = super(ThisFormset, self).clean()
count = len(filter(lambda f: f.is_valid() and f.clean(), self.forms))
if count != 3:
raise forms.ValidationError("Must fill in 3")
return results
有没有更好的方法来计算这个len(filter(lambda f: f.is_valid() and f.clean(), self.forms))
部分?