API でのコレクションの応答は、ページネーションされます。つまり、コレクションには数十万のオブジェクトが含まれる可能性がありますが、Web の各要求では、API のパフォーマンスの確保を目的として、一定数の結果しか返されません。
返される結果は以下のようになります。
{'count': 25, 'next': 'http://testserver/api/v2/some_resource?page=2', 'previous': None, 'results': [ ... ] }
次のページに進むには、「次の」連続した URL を要求します。
各要求で返される結果の数を変更するには、page_size=XX
クエリー文字列パラメーターを使用します。
page_size
には、制限のデフォルトの最大値は 200 に設定されています。これは、ユーザーがそれを超える値 (たとえば ?page_size=1000
) を試行したときに適用されます。ただし、/etc/tower/conf.d/<some file>.py
の値をより高く (たとえば MAX_PAGE_SIZE=1000
に) 設定すると、この制限を変更できます。
特定のページの結果を取得するには、page
クエリー文字列パラメーターを使用します。
http://<server name>/api/v2/model_verbose_name?page_size=100&page=2
結果で返される previous および next のリンクは、これらのクエリー文字列パラメーターを自動的に設定します。
シリアライザーは効率的ですが、200 を超えるサイズのページは要求しない方がよいでしょう。
ユーザーがスクロールで苦慮しないように、ユーザーインターフェースでは小さめの値を使用します。