我知道如何在功能视图或CBV中进行分页,但这对此没有帮助。
POC模型有一个指向Tag
模型的外键。
在Tag
详细信息模板中,我想显示指向Tag
的所有POC。
{% for poc in tag.poc_set.all|dictsort:"name" %}
问题是有成千上万。我可以在模板中导入Paginator
并构建Paginator
向构造函数传递tag.poc_set.all
(或者"换行" Paginator
中的查询集 - 请原谅我的javaspeak)?
答案 0 :(得分:0)
当然。在您的视图中,将模板传递给页面而不是整个查询集。
https://docs.djangoproject.com/en/2.0/topics/pagination/#module-django.core.paginator
答案 1 :(得分:0)
在视图中处理查询集:
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
AMOUNT_LISTED_POC = 10 # This determines how many POC that you want to display per page
all_poc = tag.poc_set.all().order_by('name')
page = request.GET.get("page",1)
if page:
paginator = Paginator(all_poc,AMOUNT_LISTED_POC)
try:
all_poc = paginator.page(page)
except PageNotAnInteger:
all_poc = paginator.page(1)
except EmptyPage:
all_poc = paginator.page(paginator.num_pages)