SQLAlchemy 中 query.filter(...)order_by(...).first() 换成 .second() 取第二条记录,最简单的方式是什么?

2018-11-17 20:24:04 +08:00
 miniyao
query 取查询到的第一条记录,用.first()返回最简单。

要是想直接获取排序中返回的第二条记录,用什么方式最简单?
(我知道可以通过.all(),然后切片的方式,可以。显得查询量重了一点,最好有个什么简捷的方式,一步查出来,返回一条记录最简单)。
2211 次点击
所在节点    Python
6 条回复
fangdingjun
2018-11-17 20:31:07 +08:00
limit offset
SingeeKing
2018-11-17 20:41:45 +08:00
all() 是一个生成器,所以获取第二条并不会重……
niubee1
2018-11-17 20:43:09 +08:00
query.filter(...)order_by(...)[1:2][0]
sprite0616
2018-11-18 00:22:25 +08:00
为什么不加个 filter,把第二条变成第一条呢。
solupro
2018-11-18 08:56:05 +08:00
limit 1,1
vipppppp
2018-11-19 09:14:05 +08:00
offset(1).limit(1) =>slice(1, 2)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/508836

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX