DRF如何检索身份验证用户信息?

时间:2020-08-31 15:33:57

标签: django django-rest-framework

现在我可以通过ID获取信息。 -> user/{id} 我想检索自认证用户并默认获取其信息,例如user

我的观点

class UserInfoViewSet(mixins.RetrieveModelMixin,
                           viewsets.GenericViewSet):

    permission_classes = (IsAuthenticated,)
    serializer_class = serializers.UserFollowersSerializer

    def get_queryset(self):
        return User.objects.filter(privacy__is_public=True)

1 个答案:

答案 0 :(得分:1)

因此,如果要获取有关当前登录用户的信息,可以执行以下操作:

@action(methods=['get'], detail=False)
def current_user(self, request, *args, **kwargs):
    serializer = self.get_serializer(request.user)
    return Response(serializer.data)

无需采取其他措施,我可以想到以下可能性。

(1)您可以覆盖get_queryset方法以仅过滤user=self.request.user

(2)您可以覆盖get_object以返回self.request.user