page_size parameter for all REST API methods (#884)
* Added page_size parameter for all REST API methods which returns list of objects. Also it is possible to specify page_size=all to return all elements. * Updated changelog.mdmain
parent
59df0dfabc
commit
454eaf92c2
@ -0,0 +1,22 @@
|
||||
# Copyright (C) 2019 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
import sys
|
||||
from rest_framework.pagination import PageNumberPagination
|
||||
|
||||
class CustomPagination(PageNumberPagination):
|
||||
page_size_query_param = "page_size"
|
||||
|
||||
def get_page_size(self, request):
|
||||
page_size = 0
|
||||
try:
|
||||
value = request.query_params[self.page_size_query_param]
|
||||
if value == "all":
|
||||
page_size = sys.maxsize
|
||||
else:
|
||||
page_size = int(value)
|
||||
except (KeyError, ValueError):
|
||||
pass
|
||||
|
||||
return page_size if page_size > 0 else self.page_size
|
||||
Loading…
Reference in New Issue