我目前/items/
指向所有Item
个对象的列表视图和详细视图。我使用ViewSets
完成了此操作。
我是否可以让/items/category/
显示该类别中的项目列表?
我是否可以让/items/category/subcategory/
显示该子类别中的项目列表?
我想仅使用ViewSet和路由器执行上述操作。
答案 0 :(得分:1)
您可以使用@list_route
class ItemViewSet(viewsets.ModelViewSet):
queryset = Item.objects.all()
serializer_class = ItemSerializer
@list_route()
def category(self, request):
category_items = Item.objects.filter(category_id=1) # for e.g.
serializer = self.get_serializer(category_items, many=True)
return Response(serializer.data)
@list_route(url_path='category/subcategory')
def category(self, request):
category_items = Item.objects.filter(category_id=1, subcategory_id=2) # for e.g.
serializer = self.get_serializer(category_items, many=True)
return Response(serializer.data)
新功能将在followinbg网址/items/category/
和/items/category/subcategory/
上提供。