Djoser с DRF Ошибка: поле имени пользователя обязательно

Я использую djoser с фреймворком django rest и хочу удалить поле имени пользователя из формы создания пользователя:

settings.py:

'SERIALIZERS': {
    'user_create': 'user.serializers.UserRegistrationSerializer',
},

serializers.py:

class UserRegistrationSerializer(BaseUserRegistrationSerializer):
    class Meta(BaseUserRegistrationSerializer.Meta):
        fields = ('email', 'password')

Я получил следующую ошибку. Как вы это исправите?

TypeError at /auth/users/create
create_user() missing 1 required positional argument: 'username'

1 ответ

Согласно документации djoser User Create

Используйте эту конечную точку для регистрации нового пользователя. Ваш менеджер модели пользователя должен реализовать метод create_user и иметь USERNAME_FIELD а также REQUIRED_FIELDS поля

Вы должны настроить свою пользовательскую модель, а не сериализаторы.

На самом деле я не распознаю сериализаторы, которые вы использовали, как принадлежащие djoser.

Дополнительный вопрос:

  • Вы хотите заменить username подал с email?
Другие вопросы по тегам