2017-01-09 10 views
1

DRF(またはDRFMongoengine)には1つのことが分かりません。検索後のDjango rest update(およびpartial_update)

class SomeViewSet(MongoModelViewSet): 

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

cURLの(またはGETパラメータ形式で= JSON)から、このビューセットのURLを呼び出した後、私が守っ:

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

= API(例えば、ブラウザからの)形式で呼び出した後、私は観察します:

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 

どうしてですか?助けを借りて非常に感謝しています。

+0

curlからformat = apiを呼び出すとどうなりますか?同じ行動ですか? –

+0

はい、同じ動作です。 –

答えて

1

これは、ブラウザー可能なAPIがシリアライザーに更新フォームといくつかのアクセス許可を表示する必要があるためです。 アクションに基づいて異なるシリアライザを定義する場合があるため、APIはそれぞれにクエリを実行する必要があります。

+0

ありがとうございました! :) –

関連する問題