【发布时间】:2015-09-14 13:35:09
【问题描述】:
假设我有一个观点:
class FooPagination(PageNumberPagination):
page_size = 10
class FooView(ListAPIView):
serializer_class = FooSerializer
pagination_class = FooPagination
def get_queryset(self):
if self.paginator.?
# do something special
如何检测用户是否在 Django REST 的最后一页(分页)?
更新如果我尝试:
print(self.paginator.get_next_link())
我明白了:
Exception Type: AttributeError
Exception Value: 'FooPagination' object has no attribute 'page'
Exception Location: C:\Users\Daniel\venvs\brook\lib\site-packages\rest_framework\pagination.py in get_next_link, line 297
我想我正在尝试这种方式是不可能的,因为分页器在指定查询集之前不知道它是否在最后一页上。鸡和蛋的情况。
【问题讨论】:
-
尝试使用 has_next() 它会告诉你分页器是否有下一页可用
-
self.paginator.has_next() 给出异常类型:AttributeError,异常值:'FooPagination' 对象没有属性'has_next'。
标签: python django pagination django-rest-framework