sqlalchemy - Flask-SqlAlchemy - 当所有其他字段都相同时获取最新记录
问题描述
我正在使用 Flask SqlAlchemy 存储数据,但有些行仅在创建的时间戳上有所不同(所有其他字段都相同),并且只想显示这些记录的最新条目。
创建 | 姓名 | 数据 |
---|---|---|
2020-01-01 | 美国广播公司 | cde |
2020-01-02 | 美国广播公司 | cde |
我尝试了不同的、子查询、限制、from_self 的各种组合,但找不到有效的解决方案。
query = db.session.query().select_from(mytable).filter(mytable.name=='abc').distinct().order_by(mytable.created.desc())
任何提示我如何才能实现只显示最新记录?
解决方案
假设您的表具有这样的关联模型:
class MyTable(db.Model):
id = Column(Integer, primary_key=True)
name = Column(String)
data = Column(String)
created = Column(String)
那么这应该工作:
obj = MyTable.query().order_by(MyTable.created.desc()).first()
推荐阅读
- unit-testing - 将单元测试集成到活动的 Vuetify 2 项目时遇到问题,SASS 出错(Mocha-webpack / Vue 单元测试工具)
- javascript - 使用 mvc 根据值更改图标颜色
- powershell - 脚本提取用户所属的 AD 组列表
- django - 可以使用 d3.json 获取后端自定义错误消息吗?
- c# - 为什么计时器 Elapsed 需要 += EventHandler?
- python - 如何根据常用词对文本进行分类
- java - 无法使用硒启动 chorme?
- mysql - 为什么我不能从 bash 中的 fifo 读取管道 sql 的结果?
- firebase - firebase.auth().deleteUser - 错误:“deleteUser 不是函数”
- java - Java StAX - 解析时出错 - 非法字符实体:扩展字符代码 0x19