如何覆盖ModelForm字段上的“唯一”错误?
-
21-12-2019 - |
题
我正在尝试覆盖My ModelForm中的字段的“唯一”错误消息。我正在尝试遵循对于django 1.6,但我无法搞定。相当简单的东西,我有:
class EmailAddress(Model):
"""An email address."""
address = EmailField(unique=True)
def __unicode__(self):
return self.address
.
class EmailAddressForm(ModelForm):
class Meta:
model = EmailAddress
fields = {'address'}
error_messages = {
'address': {
u'unique': _('That address has already been added.'),
}
}
.
emailaddress_form.errors = {'address': [u'Email address with this Address already exists.']}.`
.
解决方案
试试: -
更改地址字段至: -
地址= models.emailfield(unique= true,error_messages= {'唯一':“已经添加了该地址。”})
其他提示
在EmainAddressForm类上创建方法“Clean_Address”,希望这将解决您的问题。
def clean_address(self):
"""Prevent duplicate email addresses."""
if 'email' in self.changed_data:
if self.Meta.model.all().filter('address =', self.cleaned_data['address']).count():
raise forms.ValidationError('Email address with this Address already exists.: %s.' %
self.cleaned_data['address'])
return self.cleaned_data['address']
. 不隶属于 StackOverflow