SQLAlchemy 1.4.13 发布,Python ORM 框架

来源: OSCHINA
编辑: Alias_Travis
2021-05-05

SQLAlchemy 是 Python SQL 工具箱和对象关系映射器,它为应用程序开发人员提供了 SQL 的全部功能和灵活性。它提供了一整套知名的企业级持久性模式,旨在高效、高性能地访问数据库,并被适配为一种简单的 Pythonic 域语言。

SQLAlchemy 1.4.13 版本的更新内容如下:

orm

  • [orm] [bug] [regression]

    修正了 selectinload 加载器策略的回归,当处理跨多列连接的关系时,例如使用复合外键时,会导致它不正确地缓存其内部状态。无效的缓存会导致其他无关的加载器操作失败;

  • [orm] [bug] [regression]

    修正了回归,即如果主导实体是一个 SQL 函数或其他从相关主实体派生的表达式,而不是一个简单的实体或该实体的列, Query.filter_by() 将无法工作。此外,改进了 Select.filter_by() 的行为,使其即使在非 ORM 环境下也能与列表达式一起工作。

  • [orm] [bug] [regression]

    修正了使用 selectinload()subqueryload() 加载一个两级深度的路径会导致属性错误的问题。

  • [orm] [bug] [regression]

    修正了在使用 noload() 加载器策略和 "动态"关系时,会导致属性错误的问题,因为 noload 策略会试图将自己应用到动态加载器上。

asyncio

  • [asyncio] [bug] [regression]

    修正了 #6337 引入的一个回归,即在任何 asyncio 循环启动之前实例化 asyncio 引擎时,会创建一个 asyncio.Lock,它可能被附加到错误的循环中,导致在某些情况下试图使用该引擎时出现 asyncio 错误信息。

postgresql

  • [postgresql] [usecase]

    在 PostgreSQL 的 pg8000 dialect 中增加对服务器端游标的支持。这允许使用 Connection.execution_options.stream_results 选项。

更多详情可查看:https://docs.sqlalchemy.org/en/14/changelog/changelog_14.html#change-1.4.13

展开阅读全文
1 收藏
分享
加载中
0 评论
1 收藏
分享
返回顶部
顶部