How do I query a table for the object with the most recent table?
I've got a table which holds
class Ticker(Base):
updated = Column('updated', DATETIME, index=False, nullable=False,primary_key=True)
high = Column('high', FLOAT, index=False, nullable=False)
I'm trying to find out how I can get the object with the most recent updated field? Currently I'm doing the following:
maxdate = db_session.query(func.max(Ticker.updated)).first()[0]
Ticker.query.filter(Ticker.updated == maxdate).first()
I was wondering if there is a more efficient/shorter way to do this?
for version 1.2+:
session.query(Ticker).order_by(desc('updated')).first()
desc
You need to order by updated
and limit to one result. This should work(I haven't tested it, syntax might be wrong) -
Ticker.query.order_by('updated desc').limit(1)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With