获取我的formset以验证有效填写表单的数量

时间:2012-10-03 12:40:45

标签: django

我希望用户在我的formset中填写3个表单,前端当前只有3个表单在我的formset中,但我想确保用户不会自己创建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))部分来计算?

1 个答案:

答案 0 :(得分:0)

有关要求表单集中的所有表单都有效的示例,请参阅:Django: Make all formset forms required?