API 中集合的响应会被分页。这意味着,虽然集合在每个 web 请求中可能包含几万甚至几十百个对象,但出于 API 性能的原因,其返回的结果会有数量的限制。
当返回一个集合的结果时,您会看到类似如下的内容:
{'count': 25, 'next': 'http://testserver/api/v2/some_resource?page=2', 'previous': None, 'results': [ ... ] }
To get the next page, simply request the page given by the 'next' sequential URL.
使用 page_size=XX
查询字符串参数更改每个请求返回的结果数。
page_size
带有被设置为 200 的默认最大限制,当用户试图使用一个大于它的值(如 ?page_size=1000
)时,这个限制会强制生效。但您可以在 /etc/tower/conf.d/<some file>.py
中把它设置为一个更高的值(例如:MAX_PAGE_SIZE=1000
)来修改这个限制。
使用 page
查询字符串参数检索具体的结果页面。
http://<Tower server name>/api/v2/model_verbose_name?page_size=100&page=2
返回结果的前一个和下一个链接会自动设置这些查询字符串参数。
虽然序列化器效率非常高,但您请求页的大小最好不要超过几百个。
用户界面使用较小的值以避免用户需要进行大量滚动操作。