You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoEngine分页:Python负索引切片兼容多页的一行解决方案

MongoDB分页优化(MongoEngine)解决方案

核心思路

利用Python切片的左闭右开特性,结合条件判断处理page_nb=1的特殊场景,无需手动补充元素即可实现高效分页。

Pythonic一行解决代码

page_items = values[-page_nb*items_per_page : -(page_nb-1)*items_per_page] if page_nb > 1 else values[:items_per_page]

逻辑说明

  • 当page_nb > 1时:通过负索引定位当前页的首尾位置,-page_nb*items_per_page是起始负索引,-(page_nb-1)*items_per_page是结束负索引,左闭右开的切片规则刚好取到items_per_page条数据
  • 当page_nb=1时:直接取列表前items_per_page条数据,规避负索引出现-0导致的切片错误

验证示例(以items_per_page=15为例)

  • page_nb=1:切片为values[:15],获取最新的15条数据
  • page_nb=2:切片为values[-30:-15],获取第16至30条数据(共15条)

内容的提问来源于stack exchange,提问作者AlixL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 20:11:26