Как вызвать ValidationError в модели Django, если электронная почта существует - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь вызвать ValidationError через validators.py или def clean(self) в поле электронной почты в модели Django, чтобы узнать, существует ли электронное письмо в БД.

Ниже приводится краткое описание моей модели. :

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.

1 Ответ

0 голосов
/ 07 февраля 2020

Для дальнейшего использования, если кто-то сталкивался с той же проблемой, все благодаря @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.')})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...