Ich verwende das Django-REST-Framework, um eine API zu erstellen. Ich möchte Daten aus mehr als einem Modell zu der serialisierten Ausgabe hinzufügen.Fügen Sie zusätzliche Daten zu den Modelldaten hinzu, die von einem Django-Serializer zurückgegeben werden
Im Moment sieht mein Serializer wie folgt aus:
class ItemSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Item
fields = ('url', 'owner', 'item_type')
Ich möchte ein
item_cost
Wert fr hinzufügen om mein Kostenmodell zur serialisierten Ausgabe (unterschiedliche Kosten für jeden Artikel im Artikelmodell). Ich möchte auch einen Unix-Timestamp-Wert zur serialisierten Ausgabe hinzufügen (ein Wert, der am Ende aller anderen serialisierten Ausgaben platziert wird).
Mein Serializer ist in einer Ansicht wie folgt verwendet:
class ItemViewSet(viewsets.ModelViewSet):
queryset = Item.objects.all().order_by('-date_added')
serializer_class = ItemSerializer
Ich kann aus nicht funktionieren, wie die anderen Datenelementen in der serialisierte Ausgabe hinzuzufügen.
Das perfekte Gustavo ist! Gibt es eine Möglichkeit, auf die Abfrageparameter von der aufrufenden URL in der Funktion "get_cost" zuzugreifen, damit ich eine Aktion ausführen kann, die von der Abfrage abhängt? –
Ja, Sie können. Innerhalb der Methode können Sie auf das 'QueryDict' zugreifen:' self.context.get ('request'). Query_params' –
Excellent thanks! –