Je travaille sur quelques points d'extrémité qui regroupent les données. L'un des points de terminaison retournera par exemple un tableau d'objets, chaque objet correspondant à une journée, et il aura le nombre de commentaires, de likes et de photos qu'un utilisateur spécifique a publié. Cet objet a un schéma prédéfini/défini, mais nous ne le stockons pas dans la base de données, il n'a donc pas de modèle.
Existe-t-il un moyen de toujours utiliser Django sérialiseurs pour ces objets sans avoir de modèle?
Vous pouvez créer un sérialiseur qui hérite de serializers.Serializer et transmettre vos données comme premier paramètre comme:
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)