检索操作后 Django 休息更新(和 partial_update)
Django rest update (and partial_update) after retrieve action
我不明白 DRF(或 DRFMongoengine)中的一件事。
class SomeViewSet(MongoModelViewSet):
def get_serializer_class(self):
print "ACTION:", self.action
return SomeSerializer
从 cURL(或使用获取参数格式=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
为什么会这样?非常感谢您的帮助。
这是因为可浏览的 API 需要让序列化程序显示更新表单以及一些权限。
由于可以根据操作定义不同的序列化程序,因此 API 必须查询每个序列化程序。
我不明白 DRF(或 DRFMongoengine)中的一件事。
class SomeViewSet(MongoModelViewSet):
def get_serializer_class(self):
print "ACTION:", self.action
return SomeSerializer
从 cURL(或使用获取参数格式=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
为什么会这样?非常感谢您的帮助。
这是因为可浏览的 API 需要让序列化程序显示更新表单以及一些权限。 由于可以根据操作定义不同的序列化程序,因此 API 必须查询每个序列化程序。