如何通过 Django REST Framework 序列化列表

How can I serialize a list via Django REST Framwork

我有一个基于不同 Pandas 处理的函数,它会生成一个列表 ([6, 6, 6])。我的问题是如何用 Django REST Framwork 序列化它。我试图实现文档位,但我遇到了不同的错误。不幸的是我是新手,这是我第一次用 API 端点构建 Django

这是我的尝试:

[serializers.py]

class TestSerializer(serializers.ListField):
    child = serializers.IntegerField()

[views.py]

class TestListCreate(generics.ListCreateAPIView):
    queryset = Test().test_list[0] # This results the list --> [6, 6, 6]
    serializer_class = TestSerializer

由于没有 Model,您根本不必使用 queryset 属性或 ListCreateAPIView。您可以使用 APIView class 作为

from rest_framework.views import APIView
from rest_framework.response import Response


class MyTestView(APIView):
    def get(self, request, *args, **kwargs):
        my_list_data = Test().test_list[0]  # get the data
        serializer = TestSerializer(my_list_data)
        return Response(data=serializer.data)

并将序列化程序更改为,

 class TestSerializer(serializers.ListSerializer):
    child = serializers.IntegerField()

注意:我觉得ListSerializerListField没有太大区别,但我还是推荐ListSerializer