2017-08-06 12 views
4

データを集約する2つのエンドポイントで作業しています。エンドポイントの1つは、たとえばオブジェクトの配列を返します。各オブジェクトは1日に対応し、特定のユーザーが投稿したコメント、好きな写真、写真の数が表示されます。このオブジェクトはあらかじめ定義された/設定されたスキーマを持っていますが、データベースに格納しないので、モデルはありません。モデルなしの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) 
関連する問題