我在我的viewsets.ModelViewSet上使用@detail_route。
class CompanyViewSet(viewsets.ModelViewSet):
queryset = Company.objects.all()
serializer_class = serializers.CompanySerializer
@detail_route(methods=['get', ], permission_classes=[IsCompanyUserPermission, ])
def accounts(self, request, pk):
...
return Response(...)
# urls.py
router.register(r'companies', views.CompanyViewSet)
此代码创建网址:
/companies/
/companies/{id}
/companies/{id}/accounts
我不知道如何向明细帐户添加路线/ View :
/companies/{id}/accounts/{id_account}
有什么方法可以添加路线和 View 来处理此路线吗?
(最好的选择是将其添加到CompanyViewSet上)
干杯,
最佳答案
DRF不能单独处理嵌套路由,您可以手动处理它,也可以使用扩展名(例如drf-nested-routers),但它已经过时了。
我的建议:不要与框架打交道,DRF不擅长使用带有URL嵌套的资源,请以另一种方式使用它。
关于Django Rest Framework-@detail_route的详细信息页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25921021/