让我的表单集验证有效填写的表单数量

  • 本文关键字:表单 验证 有效 django
  • 更新时间 :
  • 英文 :


我希望用户在我的表单集中只填写 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))部分来获取计数?

参见:Django:让所有表单集表单都成为必需的? 有关要求表单集中所有表单都有效的示例。

最新更新