I am trying to raise ValidationError through validators.py or def clean(self) on an email field in the Django model to know if an email exists in the DB.
Below is a brief of my model:
class Profile(models.Model)
...
email = models.EmailField()
...
def __str__(self)
return self.f_name
I know I can add unique=True to the model field to ensure that, or simply do a cleaned_data in forms, but the solution I want is that of validator.py or def clean(self) in models.py.
For future reference, if anyone comes across the same issue, all thanks to @dirkgroten, I was able to resolve the problem with clean() in my models.py:
def clean(self)
if Profile.objects.filter(email=self.email).exclude(pk=self.pk).exists():
raise ValidationError({'email': _('Email already exists.')})