如果存在电子邮件,如何在 Django 模型中引发 ValidationError
How to raise ValidationError in Django model if email exist
我正在尝试通过 validators.py
或 def clean(self)
在 Django 模型中的电子邮件字段上引发 ValidationError 以了解数据库中是否存在电子邮件。
以下是我的模型简介:
class Profile(models.Model)
...
email = models.EmailField()
...
def __str__(self)
return self.f_name
我知道我可以将 unique=True
添加到模型字段以确保这一点,或者只是在表单中做一个 cleaned_data
,但我想要的解决方案是 validator.py
或 def clean(self)
在 models.py
.
供将来参考,如果有人遇到同样的问题,感谢@dirkgroten,我能够在 models.py
:
中使用 clean()
解决问题
def clean(self)
if Profile.objects.filter(email=self.email).exclude(pk=self.pk).exists():
raise ValidationError({'email': _('Email already exists.')})
我正在尝试通过 validators.py
或 def clean(self)
在 Django 模型中的电子邮件字段上引发 ValidationError 以了解数据库中是否存在电子邮件。
以下是我的模型简介:
class Profile(models.Model)
...
email = models.EmailField()
...
def __str__(self)
return self.f_name
我知道我可以将 unique=True
添加到模型字段以确保这一点,或者只是在表单中做一个 cleaned_data
,但我想要的解决方案是 validator.py
或 def clean(self)
在 models.py
.
供将来参考,如果有人遇到同样的问题,感谢@dirkgroten,我能够在 models.py
:
clean()
解决问题
def clean(self)
if Profile.objects.filter(email=self.email).exclude(pk=self.pk).exists():
raise ValidationError({'email': _('Email already exists.')})