检索操作后

时间:2017-01-09 17:28:17

标签: django django-rest-framework restframeworkmongoengine

我对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

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

1 个答案:

答案 0 :(得分:2)

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