【发布时间】:2011-01-25 20:13:34
【问题描述】:
我从文档 http://docs.djangoproject.com/en/dev/ref/models/fields/ 中了解到,您可以将 error_messages 添加到模型字段并提供您自己的错误消息字典。但是,您应该传递的 dict 的键是什么?
class MyModel(models.Model):
some_field = models.CharField(max_length=55, error_messages={'required': "My custom error"})
如果在使用的模型上更容易做到这一点,那也可以。我宁愿不必再次显式创建每个字段及其类型。这是我试图避免的:
class MyModelForm(forms.ModelForm):
some_field = forms.CharField(error_messages={'required' : 'Required error'})
更新 2:我的项目中使用的测试代码
我的模特:
class MyTestModel(models.Model):
name = models.CharField(max_length=127,error_messages={'blank' : 'BLANK','required' : 'REQUIRED'})
我的表格:
class EditTestModel(ModelForm):
class Meta:
model = MyTestModel
我的观点:
tf = EditTestModel({'name' : ''})
print tf.is_valid() # prints False
print tf.full_clean() # prints None
print tf # prints the form, with a <li> error list containg the error "This field is required"
<tr><th><label for="id_name">Name:</label></th><td><ul class="errorlist"><li>This field is required.</li></ul><input id="id_name" type="text" name="name" maxlength="127" /></td></tr>
【问题讨论】:
标签: django django-models django-forms