如何查找匹配self.request.user的用户查询集

时间:2017-09-29 02:43:28

标签: django django-models django-views

我们如何找到匹配self.request.user的用户查询集?

logged_in_user = User.objects.filter(id=self.request.user.id)

我希望有很多有效的方法来做到这一点。 (例如get_user_model(self.request.user))?

这是我的views.py

class ProfilePageView(generics.RetrieveAPIView):
    serializer_class = ProfilePageSerializer

    def get_queryset(self):
        logged_in_user = User.objects.filter(username=self.request.user.username) << right here!
        return logged_in_user

    def get_object(self):
        queryset = self.get_queryset()
        obj = get_object_or_404(queryset)
        return obj

2 个答案:

答案 0 :(得分:4)

当您已拥有用户实例时,没有理由在其中只包含一个User实例的查询集:

logged_in_user = self.request.user

答案 1 :(得分:1)

可能对你有帮助吗?

def get_object(self):
    return self.request.user