首页 > 解决方案 > 使用 ModelViewSet 在 URL 中传递自定义参数

问题描述

使用 a传递参数ModelViewSet的最佳方法是什么?例如实现这样的事情:

http://127.0.0.1:8000/api/v1/financing-settings/template/?param=block

下面是我使用的方法,但发现我已经在正文部分设置了参数,但这不是我想要的:

class TemplateView(ModelViewSet):
    """ViewSet for Saving Block/ Step template."""

   
    def list(self, request, *args, **kwargs):

        """Get list of Block/Steps with is_process_template is equal to True."""
        param = request.data['param']

        if param == "block":
            _block = Block.objects.filter(is_process_template=True).values()
            return JsonResponse({"data": list(_block)}, safe=False, status=200)

        elif param == "step":
            _step = Step.objects.filter(is_process_template=True).values()
            return JsonResponse({"data": list(_step)}, safe=False, status=200)

        return Response(status=status.HTTP_204_NO_CONTENT)

标签: djangodjango-rest-framework

解决方案


 param = request.GET.get('param')

或发帖请求

 param = request.POST.get('param')

推荐阅读