“试图获取serializer`UserCreateSerializer上的字段'username'的值时出现KeyError`

2024-10-02 02:31:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用户注册APIView。在

视图:

class UserCreateAPIView(CreateAPIView):
    serializer_class = UserCreateSerializer
    permission_classes = [AllowAny]
    queryset = User.objects.all()

序列化程序:

^{pr2}$

当我访问这个apieview时,我会得到错误:

KeyError at /api/users/register/ "Got KeyError when attempting to get a value for field username on serializer UserCreateSerializer.\nThe serializer field might be named incorrectly and not match any attribute or key on the dict instance.\nOriginal exception text was: 'username'."

但是数据库它将创造用户的成功。在

所有测试成功:

enter image description here


Tags: 视图fieldonusernameclassclasses用户注册permission
1条回答
网友
1楼 · 发布于 2024-10-02 02:31:23

您正在弹出validated_data中的所有字段,因此当您最终返回时,它们不会出现在字典中。在

username=validated_data.pop('username')
wechat_num = validated_data.pop('wechat_num')
password=validated_data.pop('password')
...

return validated_data

也许你想把它改成:

^{pr2}$

相关问题 更多 >

    热门问题