Как проверить данные поля при абстрагировании сериализатора djoser?
Я использую django и djoser для аутентификации бэкенда и react на стороне фронтенда. Я хочу поставить условие на email в сериализаторе, чтобы если email уже существует, отправить им сообщение об ошибке, что "email уже занят", иначе зарегистрировать.
сериализатор
class UserCreateSerializer(UserCreateSerializer):
class Mera(UserCreateSerializer.Meta):
model = User
fields = ("id","username","email","password")
def validate_email(self, email):
if User.objects.filter(email=email).exist():
msg = "email already taken"
raise serializers.ValidationError(msg)
return email
настройки джосера в settings.py
DJOSER = {
...,
"SERIALIZERS" : {
"user_create":"accounts.serializers.UserCreateSerializer",
"user":"accounts.serializers.UserCreateSerializer",
"user_delete":"djoser.serializers.UserDeleteSerializer",
},
}
accounts/models.py
from django.db import models
from django.contrib import auth
# Create your models here.
class User(auth.models.User,auth.models.PermissionsMixin):
def __str__(self):
return "@{}".format(self.username)
По-прежнему пользователь может зарегистрироваться с тем же email.
Заранее большое спасибо за прочтение и ответ на этот вопрос...