我试图找出是否有可能使用Django rest框架中的通用api方法在同一视图中发布和修补。我不认为有任何通用类可以完全创建和更新,任何人都可以告诉我以下配置是否允许我在同一视图中使用post和patch方法。

class QuestionList(generics.updateAPIView, generics.CreateAPIView):
    queryset = Question.objects.all()
    serializer_class = QuestionSerializer

最佳答案

DRF不提供开箱即用的CreateUpdateAPIView类。但我们可以轻松完成

from rest_framework import generics


class CreateUpdateAPIView(generics.CreateAPIView,
                          generics.UpdateAPIView,
                          generics.GenericAPIView):
    pass


这里的CreateUpdateAPIView类类似于DRF的ListCreateAPIViewRetrieveUpdateAPIView

现在,您可以在视图中使用此CreateUpdateAPIView,如下所示:

class QuestionList(CreateUpdateAPIView):
    queryset = Question.objects.all()
    serializer_class = QuestionSerializer

10-06 10:20