gpt4 book ai didi

用于自定义用户模型的 Django Rest Framework token 身份验证

转载 作者:行者123 更新时间:2023-12-05 07:37:30 26 4
gpt4 key购买 nike

我刚开始使用 Django Rest Framework。我继承了一个具有 2 个用户模型的 Django 项目:mods.User绑定(bind)到 AUTH_USER_MODELplayers.Member .

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

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

我的创建 View 如下:

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)

我正在学习教程 here

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

最佳答案

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

user=user.get()

关于用于自定义用户模型的 Django Rest Framework token 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48548435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com