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

时间:2018-08-06 09:29:52

标签: python django django-rest-framework django-generic-views serializer

我有一个函数,该函数基于不同的Pandas进程生成列表([6, 6, 6])。我的问题是如何使用Django REST Framwork对其进行序列化。我试图实现文档位,只是遇到了不同的错误。不幸的是,我还处于休息状态,这是我使用Django端点构建API的第一时间。

这是我的尝试:

[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

1 个答案:

答案 0 :(得分:0)

由于没有Model,因此您完全不必使用queryset属性或ListCreateAPIView。您可以将APIView类用作

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