“需要一个项目列表,但得到类型“QuerySet”。”

Tal*_*abi 1 django-rest-framework

我正在尝试使用 django Rest-framework 构建一个 API。我可以使用它的 post 方法,但是当我尝试使用 get 方法时,出现以下错误

{
    "error": [
        "Expected a list of items but got type \"QuerySet\"."
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码。

class FileUploadView(APIView):
    parser_class = (FileUploadParser,)
    serializer_class = FileSerializer
    
    def post(self, request, *args, **kwargs):
      file_serializer = self.serializer_class(data=request.data)

      if file_serializer.is_valid():
          file_serializer.save()
          return Response(file_serializer.data, status=status.HTTP_201_CREATED)
      else:
          return Response(file_serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    def get(self , request , *args , **kwargs):
        print("aaaa")
        query = org_details.objects.all()
        serializer = self.serializer_class(data=query, many=True)
        serializer.is_valid(raise_exception=True)
        return Response(serializer.data, status=status.HTTP_200_OK)

class FileSerializer(serializers.ModelSerializer):
    class Meta:
        model = org_details
        fields = "__all__"
Run Code Online (Sandbox Code Playgroud)

我看到一些建议使用 Many=true 作为序列化器的参数。如您所见,它仍然给我同样的错误。非常感谢您的帮助。

JPG*_*JPG 5

改成
serializer = self.serializer_class(data=query, many=True)

serializer = self.serializer_class(query, many=True)