In 2.x hatten wir einen Serializer, der aussah wie:
%Vor% Dies war effektiv in der Lage, Bulk-Erstellungen zu bearbeiten (Übergabe eines list
als Hauptteil einer JSON-Post-Anfrage). In 3.x ist dieser Endpunkt unterbrochen. Ich habe versucht, etwas zu implementieren, ähnlich wie die Dokumentation zu DRF
Und während dies für eine einzige Erstellungsanforderung funktioniert, erhalte ich den Fehler, wenn ich versuche, eine Liste zu übergeben:
%Vor% Ich habe einige Hacks gesehen, bei denen __init__
übergeordnet ist, aber es scheint, dass mit der Erstellung der Klasse ListSerializer
in 3.x ein saubererer Weg dafür geschaffen werden muss. Danke im Voraus.
Sie zeigen nicht, wie Ihr Code eine FooSerializer
-Instanz erstellt. Die Django REST Framework 3-Dokumentation lautet:
Wenn ein Serializer instanziiert wird und
many=True
übergeben wird, wird eineListSerializer
-Instanz erstellt. Die Serializer-Klasse wird dann zum Kind des übergeordnetenListSerializer
.
Es scheint also, dass Ihr Code erkennen sollte, ob die Daten eine Instanz oder viele enthalten, und:
serializer = FooSerializer()
, um eine Instanz oder serializer = FooSerializer(many=True)
, um eine Liste mit vielen Instanzen zu verwalten. Explizit ist besser als implizit: -)
Tags und Links python django django-rest-framework