我对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
为什么会这样?非常感谢任何帮助。
答案 0 :(得分:2)
这是因为可浏览的API需要让序列化程序显示更新表单以及一些权限。 由于可以根据操作定义不同的序列化程序,因此API必须查询每个序列化程序。