在Django Rest Framework中,@ link是否可以在没有PK的情况下进行路由?

时间:2014-06-17 18:35:47

标签: django django-rest-framework

我想链接" / 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"。在这里有一种直接的方式来做后者吗?

(我可以制作一个单独的路线,但如果可能的话,我更愿意将所有内容封装在此视图集中)

谢谢!

1 个答案:

答案 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版本运行)来将类似内容添加到项目中