我想链接" / tags / browse"在视图集中,但我认为装饰者强制" / tags /:id / browse"。这是我的观点:
class TagViewSet(viewsets.ModelViewSet):
queryset = Tag.objects.all()
serializer_class = TagSerializer
@link(permission_classes=[])
def browse(self, request, pk=None):
...
return Response(data)
我希望有标签的通用CRUD API,但我还添加了一个返回一些聚合数据的特殊浏览。当前的@link有效,但我必须去" / tags / 1 / browse"而不是通用" / tags / browse"。在这里有一种直接的方式来做后者吗?
(我可以制作一个单独的路线,但如果可能的话,我更愿意将所有内容封装在此视图集中)
谢谢!
答案 0 :(得分:2)
截至2014年6月,目前尚未获得支持,但它已合并到(长期运行的)2.4分支中。 看看这两个......
https://github.com/tomchristie/django-rest-framework/pull/886
https://github.com/tomchristie/django-rest-framework/pull/1047
您可以通过复制这些PR中的工作(或者通过针对2.4分支运行而不是从最新的PyPI版本运行)来将类似内容添加到项目中