我正在尝试使用原始查询集实现 Django 的内置分页功能。我已经研究过这个问题,答案是我需要将我的集合转换为列表。像这样的东西:
paginator = Paginator((list(set)), 10)
问题是我仍然收到“RawQuerySet 没有 len() 操作”错误,这让我相信我遗漏了一些东西。我对如何通过此更改实现分页有几个问题。
在我的 html 模板中,我有围绕我的对象迭代的标准分页标签。实施建议的修复是否不仅仅涉及将上述代码行添加到我的views.py?
视图.py
refg = RefGene.objects.raw(qrefg)
paginator = Paginator(refg, 100) # Show 100 contacts per page
paginator._count = len(list(refg))
# using django's generated forms
c = RequestContext(request, {
"refg": refg,
...
})
return HttpResponse(t.render(c))
html模板
{% autopaginate refg %}
{% for r in refg %}
<tr>
<td>{{ r.data}}</td>
<td>{{ r.loc}}</td>
</tr>
{% endfor %}
{% paginate %}