Ein Test zur Unterstützung von JSON- und File Multipart Uploads in DRF

8

Ich möchte einen Test für meine DRF App schreiben, die sowohl json als auch eine Datei mit veröffentlicht mehrteilig .

Dies habe ich bisher versucht, aber collection_items (in der create-Methode) ist leer . Muss ich meine Ansicht ändern, damit dies richtig funktioniert, oder mache ich etwas falsch in meinem Testfall unten?

Mein Test:

%Vor%

Dies ist das Modell:

%Vor%

Serialisierer:

%Vor%

So print(item_data) ist leer [], warum? Wie kann ich das beheben?

Dies ist meine gesamte Ansicht: unten, muss ich hier etwas tun?

%Vor%

Ich verwende Django Rest Framework 3.x, Django 1.8.x und Python 3.4.x.

Aktualisieren

Ich habe es unten versucht, aber immer noch keine Freude! collection_items ist leer in meinem create . Das hat entweder damit zu tun, dass es ein verschachteltes Objekt ist oder etwas aus meiner Sicht passieren muss.

%Vor%

Update 2

Wenn ich meine Payload ändere, um json.dumps zu verwenden, scheint es jetzt die Datei zu sehen, aber das kann natürlich nicht funktionieren!

%Vor%

Fehler

%Vor%

PS

Ich weiß, dass die Datei hochgeladen wird, wenn ich Folgendes in meinem Serializer mache ...

%Vor%

Ich bekomme

%Vor%     
Prometheus 03.09.2015, 15:44
quelle

1 Antwort

6

Mit dem mehrteiligen Parser können Sie den Dateihandler in den Post-Argumenten übergeben (siehe dies ). In Ihrem Code senden Sie einen json-codierten Teil als Datennutzlast und den Dateiteil in einem files -Argument, und ich denke nicht, dass es so funktionieren kann.

Probieren Sie diesen Code:

%Vor%

Ich bin nicht ganz sicher, ob die verschachtelte Serialisierung funktioniert, aber zumindest sollte der Datei-Upload funktionieren.

    
dukebody 06.09.2015, 16:46
quelle