2017-08-06 115 views
4

我正在处理聚合数据的几个端点。例如,其中一个端点将返回一个对象数组,每个对象与一天相对应,并且它将具有特定用户发布的评论,喜欢和照片的数量。该对象有一个预定义/设置模式,但我们不会将它存储在数据库中,因此它没有模型。Django REST框架序列化器没有模型

有没有一种方法,我仍然可以在没有模型的情况下为这些对象使用Django序列化程序?

+0

你可以使用'serializers.Serializer' ... – zaidfazil

回答

5

您可以创建一个从serializers.Serializer继承串行并通过您的数据像第一个参数:

serializers.py

from rest_framework import serializers 

class YourSerializer(serializers.Serializer): 
    """Your data serializer, define your fields here.""" 
    comments = serializers.IntegerField() 
    likes = serializers.IntegerField() 

views.py

from rest_framework import views 
from rest_framework.response import Response 

from .serializers import YourSerializer 

class YourView(views.APIView): 

    def get(self, request): 
     yourdata= [{"likes": 10, "comments": 0}, {"likes": 4, "comments": 23}] 
     results = YourSerializer(yourdata, many=True).data 
     return Response(results) 
相关问题