django验证器和clean_field方法之间的区别

时间:2014-03-29 20:52:04

标签: python django django-forms django-validation

form django中,字段的validator和该字段的clean_<field>方法有什么区别?

2 个答案:

答案 0 :(得分:5)

Django将首先运行内置(默认)字段验证器,然后运行自定义字段验证器(在模型中使用validators=[your_validator])。 然后,Django将执行clean()clean<field>()方法。

validatorclean_<field>()方法的主要区别在于后者仅适用于表单。 validator可用于表单和模型(因此也可用于管理界面)。

此外,重写clean_<field>()方法是针对数据库中的项目验证数据的推荐方法。

有关https://docs.djangoproject.com/en/1.6/ref/forms/validation/的更多信息。

答案 1 :(得分:0)

据我记得,一个字段可以有几个验证器(如min_length,max_length),这些验证器将由默认的clean_field方法调用。