Django Rest Framework Token Authentication for Custom User M



我是使用Django Rest Framework的新手。我继承了一个 Django 项目,它有 2 个用户模型:mods.User绑定到 AUTH_USER_MODELplayers.Member

由于我无法在这里讨论的原因,它们都继承自AbstractBaseUser但涉及不同的信息,它们之间只有一个共同的email字段。

我正在尝试为players.Member中的用户使用令牌身份验证。我创建了一个端点/players_endpoint/register,它成功地将玩家添加到数据库中。但是,将播放器添加到数据库后,json 响应会返回Cannot assign "<Member: offworld_321>": "Token.user" must be a "User" instance.

我的创建视图如下:

class MemberCreateView(generics.CreateAPIView):
    queryset = Member.objects.all()
    def post(self, request, format='json'):
        serializer = MemberCreateSerializer(data=request.data)
        if serializer.is_valid():
            user = serializer.save()
            if user:
                token = Token.objects.create(user=user)
                json = serializer.data
                json['token'] = token.key
                return Response(json, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

我正在按照这里的教程进行操作

我怎样才能使玩家在注册时收到一个用于身份验证的令牌?

我遇到了同样的问题,并使用以下方法解决了它:

user=user.get()

最新更新