生のクエリ セットを使用して、Django の組み込みのページネーション機能を実装しようとしています。私はこの問題を調査しましたが、答えは、セットをリストとしてキャストする必要があるということです。このようなもの:
ページネーター = ページネーター((リスト(セット)), 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 %}