SQLAlchemy:获取具有最新日期的对象

时间:2014-01-05 19:11:18

标签: python sqlalchemy

如何使用最新表查询表中的对象?

我有一张桌子,上面有

class Ticker(Base):
    updated = Column('updated', DATETIME, index=False, nullable=False,primary_key=True)
    high = Column('high', FLOAT, index=False, nullable=False)

我试图找出如何使用最新的更新字段获取对象?目前我正在做以下事情:

maxdate = db_session.query(func.max(Ticker.updated)).first()[0]
Ticker.query.filter(Ticker.updated == maxdate).first()

我想知道是否有更有效/更短的方法来做到这一点?

2 个答案:

答案 0 :(得分:10)

您需要order by updatedlimit一个结果。这应该工作(我没有测试它,语法可能是错误的) -

Ticker.query.order_by('updated desc').limit(1)

答案 1 :(得分:5)

版本1.2+:

session.query(Ticker).order_by(desc('updated')).first()

desc