Python 用小马ORM显示最后两个有序实体

Python 用小马ORM显示最后两个有序实体,python,ponyorm,Python,Ponyorm,我正在学习使用小马ORM,用这个MWE from pony import orm db = orm.Database() class Test(db.Entity): label = orm.Required(str) db.bind(provider='sqlite',filename=':memory:') db.generate_mapping(create_tables=True) with orm.db_session: Test(label='text02')

我正在学习使用小马ORM,用这个MWE

from pony import orm
db = orm.Database()
class Test(db.Entity):
    label = orm.Required(str)
db.bind(provider='sqlite',filename=':memory:')
db.generate_mapping(create_tables=True)
with orm.db_session:
    Test(label='text02')
    Test(label='text01')
    Test(label='text03')
orm.select(t for t in Test).order_by(lambda: t.label).filter(lambda: t.label > 'text01').show()
…我能够按照我想要的方式对实体进行排序,然后使用它来显示最后两个,知道哪一个是最后两个

id|label
--+------
1 |text02
3 |text03

有没有更好的方法来显示关系/表中的最后两个元组/行,特别是当我不知道要过滤哪些实体时?我更愿意对实体进行排序,然后只显示最后两个,而不必显式地提供过滤器。有点像BASH
tail-n2
可以使用。

您可以按降序排序并获取前两个元素

orm.select(t for t in Test).order_by(lambda: desc(t.label)).limit(2)

哦,太棒了-那
限制
方法是关键。