擅长:python、mysql、java
<p>编写一个自定义的详细路由,并将签名更改为通过您打算使用的附加kwarg。然后,自定义url路径。在</p>
<pre><code>from rest_framework.decorators import detail_route
from rest_framework import viewsets
class MyObjectsViewSet(viewsets.ViewSet):
@detail_route(methods=['get'], url_path='(?P<oid>\d+)')
def get_with_objectid(self,request,pk=None, oid=None):
queryset = ## Do something here with oid to return a list of myObjects
serializer = MyObjectsSerializer(queryset) ## MyObjectsSerializer not shown here.
return Response(serializer.data,status=status.HTTP_200_OK)
</code></pre>
<p>现在您的视图集将使用<code>/api/MyObjects/60/59/</code>,其中pk=60,oid=59。如果url路径改为<code>url_path='/thisthing/(?P(<oid>\d+)'</code>,那么视图集将注册<code>/api/MyObjects/60/thisthing/59</code>。在</p>