在另一个Django Restframework视图中调用Django Rest Framework视图

时间:2019-08-09 19:51:47

标签: django django-rest-framework django-views

我已经在堆栈溢出和互联网中搜索了从anotehr django restframework APIView调用django restframework ListAPIView的解决方案。

我尝试过:

class ViewA(APIView):
   def get(request):
        response = ViewB.as_view({'get':'list'})(request)
        print response.render()
        # do other things with the response

但是,我得到了错误:

    response = SubsidiariesStatisticsView.as_view({'get': 'list'})(request)
TypeError: as_view() takes exactly 1 argument (2 given)

如何将viewA的请求传递给viewB并获得响应? 同样,类ViewB具有get_serializer_context方法。我怎么从ViewA来称呼它?

2 个答案:

答案 0 :(得分:1)

在正式仓库中遵循此issue之前和之后,我遇到了类似的情况,将我的DRF int foo (int q) { return (q + 1); 更改为View解决了我的问题。只需尝试将您的视图修改为从ViewSetViewSet扩展到其他内容即可。

答案 1 :(得分:1)

这不是一个很好的做法,也是一个过大的杀伤力。而是编写一个可以执行所需功能的函数,然后在两个视图中使用它。