1. ホーム
  2. django

[解決済み] Django REST フレームワークのモデルなしシリアライザー

2023-07-23 14:09:38

質問

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

モデルを持たずに、これらのオブジェクトのために Django シリアライザーを使用する方法はありますか?

どのように解決するのですか?

を継承したシリアライザーを作成すればよい。 シリアライザー を継承したシリアライザを作成し、第一パラメータとしてデータを渡すようにします。

シリアライザー.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)