0

我试图通过Django 模型中的电子邮件字段validators.pydef clean(self)在电子邮件字段上引发 ValidationError 以了解数据库中是否存在电子邮件。

以下是我的模型的简要说明:

class Profile(models.Model)
   ...
   email = models.EmailField()
   ...

   def __str__(self)
       return self.f_name

我知道我可以添加unique=True到模型字段以确保,或者只是做一个cleaned_datain 表单,但我想要的解决方案是validator.pyor def clean(self)in models.py

4

1 回答 1

0

为了将来参考,如果有人遇到同样的问题,多亏了@dirkgroten,我能够解决clean()我的问题models.py

def clean(self)
     if Profile.objects.filter(email=self.email).exclude(pk=self.pk).exists():
            raise ValidationError({'email': _('Email already exists.')})
于 2020-02-07T10:16:51.447 回答