django路由器有多个数字参数

时间:2014-05-23 10:26:08

标签: django django-rest-framework

我正在使用django DefaultRouter并且可以进行api调用,例如:

http://127.0.0.1:8000/api/v1/groups/3/

http://127.0.0.1:8000/api/v1/groups/3/ranking

但我只能有一个数字参数pk = 3,如何让它接受两个数字参数,如

http://127.0.0.1:8000/api/v1/groups/1/inviteUser/2/ 

我的代码是 urls.py

router_v1 = routers.DefaultRouter(trailing_slash=True)
router_v1.register(r'groups', GroupViewSet, 'h')

views.py

class GroupViewSet(CreateModelMixin, ListModelMixin, RetrieveModelMixin, UpdateModelMixin, GenericViewSet):
....
    @action()
    def inviteUser(self, request, *args, **kwargs):

我找到的唯一丑陋的方式是

 url(r'^api/v1/groups/(?P<pk>\d+)/inviteUser/(?P<pk2>\d+)/', something)  

0 个答案:

没有答案