按日期时间排序的Python SqlAlchemy?

2024-04-19 10:22:58 发布

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

我正在使用SqlAlchemy存储一些带有DateTime字段的对象:

my_date = Field(DateTime())

我想运行一个查询来检索最近的几个对象(带有“我的日期”字段的实体是最近的)。

我试过以下方法:

entities = MyEntity.query.order_by(MyEntity.time).limit(3).all()
entities = MyEntity.query.order_by(-MyEntity.time).limit(3).all()

但是这些查询以相同的顺序返回相同的对象。SqlAlchemy文档注意到使用“-”来反转顺序,但我肯定在这里遗漏了一些东西。

有人能帮忙吗?


Tags: 对象fielddatetimedatebytimesqlalchemy顺序
2条回答
entities = MyEntity.query.order_by(MyEntity.my_date.desc()).limit(3).all()

应该有用。

你可以这样做:

entities = MyEntity.query.order_by(desc(MyEntity.time)).limit(3).all()

您可能需要:

from sqlalchemy import desc

这是some documentation

另一个选择是:

stmt = select([users_table]).order_by(users_table.c.name.desc())

相关问题 更多 >