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
?