Поле электронной почты Django недействительно для международной почты (на неанглийском языке)

Я использую REST фреймворк django. Это моя модель пользователя, расширенная из AbstractUser

class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(_('email address'), unique=True)

Сейчас я пытаюсь проверить, на каких языках могут работать мои модели.

Когда я проверяю сериализатор пользовательского объекта, используя if user_serializer.is_valid():, он выдает false.

Я пытался ввести данные пользователя через админ панель django, но там написано Email is invalid

Все остальные поля, такие как models.CharField, прекрасно работают с другими языками. Но это поле электронной почты не работает.

EmailField по умолчанию использует класс EmailValidator, что может привести к неожиданному результату. Вы можете просто передать пользовательский класс валидатора, который внесет нужные вам домены в белый список. Здесь находится класс по умолчанию, который вы, возможно, захотите расширить или переписать. В StackOverflow есть ответ с более подробной информацией на случай, если вам понадобится больше деталей.

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