1

我对 DRF(或 DRFMongoengine)一无所知。

class SomeViewSet(MongoModelViewSet):

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

从 cURL(或使用 get-parameters format=json)调用此视图集的 url 后,我观察到:

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

使用 format=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

为什么会这样?将非常感谢任何帮助。

4

1 回答 1

2

这是因为可浏览 API 需要让序列化程序显示更新表单以及一些权限。由于可以根据操作定义不同的序列化程序,API 必须查询它们中的每一个。

于 2017-01-10T00:02:23.763 回答