带有DRF错误用户名字段的Djoser是必需的

时间:2019-07-05 08:29:27

标签: python django django-rest-framework djoser

我将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 个答案:

答案 0 :(得分:0)

根据djoser文档User Create

  

使用此端点注册新用户。您的用户模型经理应   实现create_user方法并具有USERNAME_FIELD和   REQUIRED_FIELDS个字段

您必须自定义用户模型,而不是序列化器。

我实际上不认识您使用的序列化程序属于djoser。

其他问题:

  • 您要用username替换email提交的文件吗?