Django Rest Framework嵌套了APIView路由

时间:2017-03-08 22:13:55

标签: django-rest-framework

如果我在

有一个ModelViewSet
/foo

可以在网址下使用API​​View吗?示例APIView将在

/foo/count

我尝试使用Django注册网址,但除非我将/ foo更改为其他内容,否则它无法正常工作?

2 个答案:

答案 0 :(得分:1)

您可以使用@list_route装饰器

from rest_framework.decorators import list_route

class FooViewSet(viewsets.ModelViewSet):

    @list_route()
    def count(self, request):
       ...
       return Response(...)

它会将新端点追加到您想要的视图集网址/foo/count/ image description here

答案 1 :(得分:0)

如果我在注册ModelViewSet网址模式之前使用Django注册了网址,那就有用了。

urlpatterns += [
url(
    regex=r'^foo/count/',
    view=Foo.as_view(),
    name='foo_count',
    )
]
urlpatterns += foo_urlpatterns