2017-08-06 3 views
4

Ich arbeite an ein paar Endpunkten, die Daten aggregieren. Einer der Endpunkte gibt beispielsweise ein Array von Objekten zurück, wobei jedes Objekt einem Tag entspricht, und es enthält die Anzahl der Kommentare, Likes und Fotos, die von einem bestimmten Benutzer gepostet wurden. Dieses Objekt hat ein vordefiniertes/festgelegtes Schema, aber wir speichern es nicht in der Datenbank, daher hat es kein Modell.Django REST Framework Serializer ohne Modell

Gibt es eine Möglichkeit, dass ich noch Django-Serialisierer für diese Objekte verwenden kann, ohne ein Modell zu haben?

+0

Sie könnten 'serializers.Serializer' verwenden ... – zaidfazil

Antwort

5

Sie können einen Serializer erstellen, die von serializers.Serializer erbt und Ihre Daten als ersten Parameter übergeben wie:

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) 
Verwandte Themen