kopia lustrzana https://github.com/simonw/datasette
?_size=max option, closes #249
rodzic
bb87cf8730
commit
d4da4c92c8
|
@ -869,6 +869,8 @@ class TableView(RowTableShared):
|
||||||
# Handle ?_page_size=500
|
# Handle ?_page_size=500
|
||||||
page_size = request.raw_args.get('_size')
|
page_size = request.raw_args.get('_size')
|
||||||
if page_size:
|
if page_size:
|
||||||
|
if page_size == 'max':
|
||||||
|
page_size = self.max_returned_rows
|
||||||
try:
|
try:
|
||||||
page_size = int(page_size)
|
page_size = int(page_size)
|
||||||
if page_size < 0:
|
if page_size < 0:
|
||||||
|
|
|
@ -131,9 +131,9 @@ Special table arguments
|
||||||
|
|
||||||
The Datasette table view takes a number of special querystring arguments:
|
The Datasette table view takes a number of special querystring arguments:
|
||||||
|
|
||||||
``?_size=1000``
|
``?_size=1000`` or ``?_size=max``
|
||||||
Sets a custom page size. This cannot exceed the ``max_returned_rows`` option
|
Sets a custom page size. This cannot exceed the ``max_returned_rows`` option
|
||||||
passed to ``datasette serve``.
|
passed to ``datasette serve``. Use ``max`` to get ``max_returned_rows``.
|
||||||
|
|
||||||
``?_sort=COLUMN``
|
``?_sort=COLUMN``
|
||||||
Sorts the results by the specified column.
|
Sorts the results by the specified column.
|
||||||
|
|
|
@ -451,6 +451,7 @@ def test_table_with_reserved_word_name(app_client):
|
||||||
('/test_tables/paginated_view.json', 201, 5),
|
('/test_tables/paginated_view.json', 201, 5),
|
||||||
('/test_tables/no_primary_key.json?_size=25', 201, 9),
|
('/test_tables/no_primary_key.json?_size=25', 201, 9),
|
||||||
('/test_tables/paginated_view.json?_size=25', 201, 9),
|
('/test_tables/paginated_view.json?_size=25', 201, 9),
|
||||||
|
('/test_tables/paginated_view.json?_size=max', 201, 3),
|
||||||
('/test_tables/123_starts_with_digits.json', 0, 1),
|
('/test_tables/123_starts_with_digits.json', 0, 1),
|
||||||
])
|
])
|
||||||
def test_paginate_tables_and_views(app_client_longer_time_limit, path, expected_rows, expected_pages):
|
def test_paginate_tables_and_views(app_client_longer_time_limit, path, expected_rows, expected_pages):
|
||||||
|
@ -458,6 +459,7 @@ def test_paginate_tables_and_views(app_client_longer_time_limit, path, expected_
|
||||||
count = 0
|
count = 0
|
||||||
while path:
|
while path:
|
||||||
response = app_client_longer_time_limit.get(path, gather_request=False)
|
response = app_client_longer_time_limit.get(path, gather_request=False)
|
||||||
|
assert 200 == response.status
|
||||||
count += 1
|
count += 1
|
||||||
fetched.extend(response.json['rows'])
|
fetched.extend(response.json['rows'])
|
||||||
path = response.json['next_url']
|
path = response.json['next_url']
|
||||||
|
|
Ładowanie…
Reference in New Issue