Сбой ограничения уникальности аутентификации по электронной почте 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 справится с этой ошибкой, поскольку это происходит при аутентификации по имени пользователя. Я что-то упустил? Должен ли я обработать эту ошибку вручную?