gpt4 book ai didi

python - 使用 Pony ORM 进行分页

转载 作者:太空宇宙 更新时间:2023-11-04 05:10:02 27 4
gpt4 key购买 nike

Pony ORM 的分页有什么最佳实践吗?

我看到其他人有这些 has_nexthas_previous 辅助方法,但在 Pony 中我只能靠自己。

到目前为止,这就是我所拥有的,几个 Jinja helper :

# Jinja helpers for pagination
def next_page(current, max_page):
if current >= max_page:
return False
else:
return current + 1


def prev_page(current, max_page):
if current < 2:
return False
else:
return current - 1

max_page 的计算方式如下:math.ceil(MyTable.select().count()/PAGE_SIZE)

但是有点乏味,你必须不停地发送当前页面和最大页面。

{% if maxpage > 1 %}
{% if prev_page(page, maxpage) %}
<a href="{{ url_for('index', pagenum=prev_page(page, maxpage)) }}"><</a>
{% endif %}

{% if next_page(page, maxpage) %}
<a href="{{ url_for('index', pagenum=next_page(page, maxpage)) }}">></a>
{% endif %}
{% endif %}

所以我错过了什么吗?有什么更好的方法吗?

最佳答案

可以查询一个分页

q = models.select(d for d in models.Thingy)
page = 1
count = q.count()
results_of_first_page = q.page(page, 20)
pages = int(count/20)
if pages > 20:
pages = 20

关于python - 使用 Pony ORM 进行分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43234918/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com