用Pony ORM显示最后两个有序实体

2024-04-26 19:08:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在学用小马ORM,用这个。。。你知道吗

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 -n 2可以使用。你知道吗


Tags: lambdafromtestimport实体db排序orm