我已经在堆栈溢出和互联网中搜索了从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
来称呼它?
答案 0 :(得分:1)
在正式仓库中遵循此issue之前和之后,我遇到了类似的情况,将我的DRF int foo (int q) {
return (q + 1);
更改为View
解决了我的问题。只需尝试将您的视图修改为从ViewSet
或ViewSet
扩展到其他内容即可。
答案 1 :(得分:1)
这不是一个很好的做法,也是一个过大的杀伤力。而是编写一个可以执行所需功能的函数,然后在两个视图中使用它。