如何在flask-sqlalchemy查询最后一条记录?

数据类似这样:

班级:1班 上课人数:30 代课老师:张某某 时间:2016.4.15 15:37
班级:1班 上课人数:20 代课老师:李某某 时间:2016.4.14 15:38
班级:2班 上课人数:15 代课老师:李某某 时间:2016.4.14 15:00
班级:2班 上课人数:18 代课老师:王某某 时间:2016.4.15 15:00

最后得到数据:
页面显示:
班级:1班 上课人数:30 代课老师:张某某 时间:2016.4.15 15:37
班级:2班 上课人数:18 代课老师:王某某 时间:2016.4.15 15:00

我以前用sql是这样写的

sql = 'select * from banji where createtime = (select max(createtime) from banji where banji = \'%s\' )' % banji

现在想用flask-sqlalchemey来写 model都写好了 但是不知道如何把最后一条插入的数据查询出来 要每个班级的最后一条
谢谢!

阅读 13.1k
3 个回答

提供思路:
group_by分组

新手上路,请多包涵

ModelName.query.filter(ModelName.RowName=='a')[-1]

[-1]的意思就是取查询结果的最后一条。

思路:先过滤出一个班级的所有记录,然后倒序查询这些记录中的第一个记录即为原来的最后一个记录
ModelName.query.filter_by(RowName='a').order_by(ModelName.RowName.desc()).first()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题