web-dev-qa-db-fra.com

Django REST sérialiseur de framework sans modèle)

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?

23
Farid El Nasire

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