Поле электронной почты 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 есть ответ с более подробной информацией на случай, если вам понадобится больше деталей.