如何通过 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()
注意:我觉得ListSerializer
和ListField
没有太大区别,但我还是推荐ListSerializer
我有一个基于不同 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()
注意:我觉得ListSerializer
和ListField
没有太大区别,但我还是推荐ListSerializer