Skip to content

Commit 22631c7

Browse files
committed
Resolve assertion error with LimitOffsetPagination and erronous parameters. Closes #2920.
1 parent 762a30d commit 22631c7

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

rest_framework/pagination.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,8 @@ def get_html_context(self):
419419
_divide_with_ceil(self.count - self.offset, self.limit) +
420420
_divide_with_ceil(self.offset, self.limit)
421421
)
422+
if current > final:
423+
current = final
422424

423425
def page_number_to_url(page_number):
424426
if page_number == 1:

tests/test_pagination.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,12 @@ def test_ending_offset(self):
435435
]
436436
}
437437

438+
def test_erronous_offset(self):
439+
request = Request(factory.get('/', {'limit': 5, 'offset': 1000}))
440+
queryset = self.paginate_queryset(request)
441+
self.get_paginated_content(queryset)
442+
self.get_html_context()
443+
438444
def test_invalid_offset(self):
439445
"""
440446
An invalid offset query param should be treated as 0.

0 commit comments

Comments
 (0)