在Django中调用另一个类视图中的类视图

1 投票
1 回答
685 浏览
提问于 2025-06-18 04:06

看起来这个问题和之前的一个问题重复了,链接在这里:one。不过我还是想说一下:我有一个叫 JobCreateViewV1 的视图类,它以一种方式处理模型。升级后,我创建了一个新的视图类 JobCreateViewV2,它在第一次调用时向另一个模型添加了一个条目。 我想知道,最好的方法是什么,能把第一个类的响应结果获取到,然后传递给第二个类?

这是我的类: JobCreateView

class JobCreateView(AuthenticatedView, generics.GenericAPIView):
    #some seralizer
    serializer_class = JobSerializerForUser

    def post(self, request):
        #....yada yada yada...
        job='model is here'
        return Response(status=status.HTTP_201_CREATED, data=self.serializer_class(job, many=False).data)

还有 JobCreateViewV2

class JobCreateViewV2(AuthenticatedView, generics.ListAPIView):
    serializer_class = ResponsibleTechnicianSerializer

    def post(self, request):
        JobCreateViewV1Response = JobCreateViewV1.post(self, request)
        # ...yada yadayada...

        #and here JobCreateViewV1Response equals to {}

旧的链接工作得很好,但当我调用 V2 的时候,来自 V1 的响应数据部分却是 {}。这可能是因为我以不正确的方式调用了 JobCreateView,导致序列化器没有正常工作吗? 我尝试过使用 ShowAppsView.as_view()(self.request) 的方法,但似乎这不是我需要的。

相关问题:

  • 暂无相关问题
暂无标签

1 个回答

0

OldViewClass.post(self, request) 这个方法可以正常工作,但我的问题是,旧的类继承了新的类的序列化器,所以旧的序列化器应该明确地传递给旧的类。

撰写回答