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

Posted

技术标签:

【中文标题】验证器和clean_field方法之间的django区别【英文标题】:django difference between validator and clean_field method 【发布时间】:2014-05-09 07:50:53 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

此外,覆盖clean_<field>() 方法是根据数据库中的项目验证数据的推荐方法。

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

【讨论】:

【参考方案2】:

据我所知,一个字段可以有多个验证器(如 min_length、max_length),它们将由默认的 clean_field 方法调用。

【讨论】:

以上是关于验证器和clean_field方法之间的django区别的主要内容,如果未能解决你的问题,请参考以下文章

Django Forms:如果我在表单中使用 charfield,是不是需要使用 clean_field?

djang2.1大战教育平台之交互篇章

Django

Node.js 和 Mongoose 的管理面板 [关闭]

Cookie和Session

djange表操作和ajax