在form
django
中,字段的validator
和该字段的clean_<field>
方法有什么区别?
答案 0 :(得分:5)
Django将首先运行内置(默认)字段验证器,然后运行自定义字段验证器(在模型中使用validators=[your_validator]
)。
然后,Django将执行clean()
和clean<field>()
方法。
validator
和clean_<field>()
方法的主要区别在于后者仅适用于表单。 validator
可用于表单和模型(因此也可用于管理界面)。
此外,重写clean_<field>()
方法是针对数据库中的项目验证数据的推荐方法。
有关https://docs.djangoproject.com/en/1.6/ref/forms/validation/的更多信息。
答案 1 :(得分:0)
据我记得,一个字段可以有几个验证器(如min_length,max_length),这些验证器将由默认的clean_field方法调用。