我正在使用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)