私は、データを集約するいくつかのエンドポイントに取り組んでいます。たとえば、エンドポイントの1つはオブジェクトの配列を返します。各オブジェクトは1日に対応し、特定のユーザーが投稿したコメント、いいね、写真の数が含まれます。このオブジェクトには事前定義/設定されたスキーマがありますが、データベースには保存しないため、モデルはありません。
モデルがなくてもこれらのオブジェクトにDjango=シリアライザーを使用できる方法はありますか?
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)