web-dev-qa-db-ja.com

Django RESTモデルなしのフレームワークシリアライザー

私は、データを集約するいくつかのエンドポイントに取り組んでいます。たとえば、エンドポイントの1つはオブジェクトの配列を返します。各オブジェクトは1日に対応し、特定のユーザーが投稿したコメント、いいね、写真の数が含まれます。このオブジェクトには事前定義/設定されたスキーマがありますが、データベースには保存しないため、モデルはありません。

モデルがなくてもこれらのオブジェクトにDjango=シリアライザーを使用できる方法はありますか?

23
Farid El Nasire

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)
52
codeadict