2017-08-06 114 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) 
相關問題