Сбой ограничения уникальности аутентификации по электронной почте DRF allauth

Я пытаюсь реализовать аутентификацию по электронной почте с помощью djangorestframework, dj-rest-auth и allauth.

Вот моя пользовательская модель пользователя

class CustomUser(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(_("email address"), unique=True)
    is_staff = models.BooleanField(default=False)
    is_active = models.BooleanField(default=True)

    USERNAME_FIELD = "email"
    REQUIRED_FIELDS = []

    objects = CustomUserManager()

    def __str__(self):
        return self.email

Вот мой settings.py

...
AUTH_USER_MODEL = "users.CustomUser"

ACCOUNT_USER_MODEL_USERNAME_FIELD = None
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_LOGIN_METHODS = {'email'}
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
...

Он регистрирует нового пользователя, как и ожидалось, если нет существующего пользователя с таким же адресом электронной почты, но если я попытаюсь создать пользователя с адресом электронной почты, который уже был зарегистрирован, я получу эту ошибку:

django.db.utils.IntegrityError: UNIQUE constraint failed: users_customuser.email

Я ожидал, что allauth справится с этой ошибкой, поскольку это происходит при аутентификации по имени пользователя. Я что-то упустил? Должен ли я обработать эту ошибку вручную?

Вернуться на верх