1

我正在使用Django的ModelForms,并希望对模型和表单进行验证。什么是放置ModelForm验证的适当位置?

{{ form.as_table }} 

什么是把验证每个字段的基础上(如表格的适当位置clean_fieldname),并作为一个整体(像形式clean):我使用的渲染形式?

我想最大限度地减少写入的代码量,而不是两次(两种模型和形式)编写相同的验证器。另外,我希望每个字段的验证错误都显示在适当的表单字段上,而不是将所有错误都放在表单的顶部(所以不是模型中的所有检查都是干净的)。

回答

3

您可能想要使用Django 1.2中引入的自定义validators

不要忘记,除非您使用的是ModelForm,否则您必须通过调用模型实例的full_clean()方法来显式执行模型验证。