1

Ich verstehe nicht eine Sache in DRF (oder DRFMongoengine).Django Rest Update (und Partial_Update) nach Abruf Aktion

class SomeViewSet(MongoModelViewSet): 

    def get_serializer_class(self): 
     print "ACTION:", self.action 
     return SomeSerializer 

Nach URL für diese Viewset von cURL Aufruf (oder mit get-Parameter format = json), beobachte ich:

ACTION: retrieve 
[09/Jan/2017 17:19:08] "GET /api/some/?format=json HTTP/1.1" 200 

Nachdem er mit Format Aufruf = api (zB vom Browser), ich beobachte :

ACTION: retrieve 
ACTION: update 
ACTION: partial_update 
ACTION: update 
[09/Jan/2017 17:21:50] "GET /api/some/?format=api HTTP/1.1" 200 73173 

Warum passiert das? Ich bin sehr dankbar für jede Hilfe.

+0

Was passiert, wenn Sie mit format = api von curl aufrufen? Gleiches Verhalten? –

+0

Ja, gleiches Verhalten. –

Antwort

1

Dies ist, weil die Browsable-API die Serializer erhalten muss, um die Update-Formulare sowie einige Berechtigungen anzuzeigen. Da man auf der Grundlage der Aktion verschiedene Serialisierer definieren kann, muss die API jeden von ihnen abfragen.

+0

Vielen Dank! :) –

Verwandte Themen