我在 ListAPIView 中使用 get_queryset
我想检查用户的访问令牌,在提供列表之前,我完成了以下操作,但问题是 get_query 集不返回响应,有没有办法返回响应,或者我应该使用替代方法:
这是我在 views.py 中的课程:
class ListProductsOfCategory(generics.ListAPIView):
serializer_class = ProductSerializer
lookup_url_kwarg = 'category_id'
def get_queryset(self):
# I get the token here from the headers
token = self.request.META.get("HTTP_TOKEN", "")
if not token:
return Response(
data={
"message": "no token!"
},
status=status.HTTP_400_BAD_REQUEST
)
if not UserAccess.objects.filter(accessToken=token).exists():
return Response(
data={
"message": "invalid token!"
},
status=status.HTTP_400_BAD_REQUEST
)
category_id = self.kwargs.get(self.lookup_url_kwarg)
return Product.objects.filter(category_id=category_id)
请注意,如果我删除了与令牌相关的部分,则一切正常。
提前致谢。
上次更新后,这是回复:
慕少森
相关分类