Ich frage mich, wie ich Mongoengine und DjangoRESTframework miteinander arbeiten lassen kann. Derzeit ist mein Modell
%Vor%und ich habe den Serializer als
definiert %Vor%Aber ich erhalte den Fehler
%Vor%was die folgende Rückverfolgung ergibt
%Vor%Django REST Framework soll gut mit Djangos Modellen zusammenarbeiten. Da MongoEngine kein Ersatz für Djangos Modelle ist, müssen Sie ein paar weitere Funktionen definieren, damit es mit dem Django Rest-Framework gut spielt.
Wenn Sie ein Framework für MongoEngine benötigen, können Sie sich die django-tastypie-mongoengine ansehen statt.
Wenn Sie Django REST Framework bevorzugen, ist dies jedoch durchaus möglich. Ihre BlogList
-Klasse ist eigentlich eine View, kein Serializer. Definieren Sie zuerst eine Serialisierungsklasse:
Da das MongoEngine-Dokument keine Instanz des Django-Modells ist, müssen Sie die Objekte selbst erstellen, anstatt von serializers.ModelSerializer
zu erben. Deshalb ist die Methode restore_object
hier. Aus der Dokumentation : Wenn Sie ein Wörterbuch für deserialisierte Feldwerte angeben, aktualisiert [es] ein vorhandenes Modellinstanz oder erstellen Sie eine neue Modellinstanz.
Dann können Sie Ihre Ansicht definieren, z. B.
%Vor% Auch hier erwartet Django REST Framework einige Dinge von Standard-Django-Modellen, die nicht von MongoEngine Documents verifiziert werden. Daher muss die Methode get_queryset
neu definiert werden.
Fügen Sie in Ihrer urls.py Folgendes hinzu:
%Vor%Schnell vorwärts bis Mitte 2016. Jetzt haben wir Django-REST-Framework-Mongoengine . Es ist immer noch weit davon entfernt, eine komplette schlüsselfertige Lösung zu sein, aber zumindest die Teilfunktionalität, die es derzeit bietet, ist mit Komponententests gut abgedeckt. Also, komm, lass es uns verbessern.
Tags und Links django django-rest-framework mongoengine