dim*_*rik 53 python sqlalchemy flask
我需要从db获取最后一条记录.我正在使用sqlalchemy.目前,我这样做:
obj = ObjectRes.query.all()
return str(obj[-1].id)
Run Code Online (Sandbox Code Playgroud)
但它的查询太重了.我怎样才能更好地获得最后的记录?
mik*_*iku 121
看看Query.first().如果您在右栏中指定排序,则第一个将是您的最后一个.示例可能如下所示:
obj = session.query(ObjectRes).order_by(ObjectRes.id.desc()).first()
Run Code Online (Sandbox Code Playgroud)
小智 6
有时很难重新表述简单的事情:
SELECT * FROM ObjectRes WHERE id IN (SELECT MAX(id) FROM ObjectRes)
Run Code Online (Sandbox Code Playgroud)
但这对我有用:
session.query(ObjectRes).filter(ObjectRes.id == session.query(func.max(ObjectRes.id)))
Run Code Online (Sandbox Code Playgroud)