【发布时间】:2014-05-09 07:50:53
【问题描述】:
在django 中的form 中,用于字段的validator 和用于该字段的clean_<field> 方法有什么区别?
【问题讨论】:
标签: python django django-forms django-validation
在django 中的form 中,用于字段的validator 和用于该字段的clean_<field> 方法有什么区别?
【问题讨论】:
标签: python django django-forms django-validation
Django 将首先运行内置(默认)字段验证器,然后是您的自定义字段验证器(在您的模型中使用 validators=[your_validator])。
然后,Django 将执行clean() 和clean<field>() 方法。
validator 和clean_<field>() 方法之间的主要区别在于后者仅适用于表单。 validator 可用于您的表单和模型(因此也可用于管理界面)。
此外,覆盖clean_<field>() 方法是根据数据库中的项目验证数据的推荐方法。
更多关于https://docs.djangoproject.com/en/1.6/ref/forms/validation/的信息。
【讨论】:
据我所知,一个字段可以有多个验证器(如 min_length、max_length),它们将由默认的 clean_field 方法调用。
【讨论】: