我正在尝试设置一个返回单个对象的 API 端点。
现在我有:
class ShoppingCartViewSet(viewsets.GenericViewSet, mixins.ListModelMixin):
"""
API endpoint that allows users to be viewed or edited.
"""
serializer_class = ShoppingCartSerializer
authentication_classes = (TokenAuthentication,)
permission_classes = (IsAuthenticated,)
def get_paginated_response(self, data):
return Response(data)
def get_queryset(self):
return ShoppingCart.objects.filter(user=self.request.user)
它使用ListModelMixin
和 过滤器返回一件商品,因为每个用户都有 1 个购物车。
问题是该filter
函数返回一个查询集,但我只想要一个项目。
我试图使用,RetrieveModelMixin
但它没有在我想要的端点上运行。检索运行,.../api/shopping-cart/id
但我想检索,.../api/shopping-cart
因为过滤是通过登录的人完成的。
有什么解决办法吗?