SQLAlchemy 1.4.3 发布,Python ORM 框架

栏目: 软件资讯 · 发布时间: 5年前

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

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

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

orm

  • 修正了一个 python 2.7.5(CentOS 7 上的默认版本)无法导入 sqlalchemy 的 bug,因为在这个版本的 Python 上, exec "statement" 和 exec("statement") 的行为方式并不相同。我们使用了兼容性的 exec_() 函数来代替。
  • 修正了一个当在属性中使用 Select.correlate_except() 来控制相关性时,使用相关子查询和 column_property() 的 ORM 查询将无法正确地关联包围子查询或 CTE 的错误。
  • 修正了新的“relationship with criteria”功能与使用新的“lambda SQL”功能(包括 selectinload 和 lazyload 等加载器策略)的结合可能会失败的 bug,以应对多态加载等更复杂的情况。
  • 修复了对 ClauseElement.params() 方法的支持,使 ClauseElement.params() 方法能够正确地与 Select 对象一起工作,该对象包括跨 ORM 关系结构的连接,这是 1.4 中的一个新特性。
  • 修正了关系加载器机制内部产生"在 2.0 中删除"警告的问题。

orm declarative

  • 修正了每类级别上的 .metadata 属性不会被遵循的回归问题.

engine

  • 将 ResultProxy 名称恢复到 sqlalchemy.engine 命名空间。这个名字指的是 LegacyCursorResult 对象。

mypy

  • 添加了对 Mypy 扩展的支持,以正确解释使用 as_declarative() 函数以及 registry.as_declarative_base() 方法生成的声明式基类。
  • 修正了 Mypy 插件中 Python 类型检测 Boolean 列类型会产生异常的错误;另外实现了对 Enum 的支持,包括检测基于字符串的枚举与使用Python enum.Enum。

postgresql

  • 修正了在 PostgreSQL 中,表的身份列在混合大小写名称中的反映。

sqlite

  • 增加了对与 SQLAlchemy asyncio 扩展一起使用的 aiosqlite 数据库驱动程序的支持。
  • 修复了在 1.4 版本中退步的 pysqlcipher dialect,使其正确连接,并增加了测试 + CI 支持,使驱动保持在工作状态。现在 dialect 默认导入 Python 3 的 sqlcipher3 模块。

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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

设计模式解析

设计模式解析

Alan Shalloway、James R.Trott / 徐言声 / 人民邮电出版社 / 2013-1 / 55.00元

《设计模式解析(第2版·修订版)》,本书首先概述了模式的基础知识,以及面向对象分析和设计在当代软件开发中的重要性,随后使用易懂的示例代码阐明了12个最常用的模式,使读者能够理解模式背后的基本原则和动机,理解为什么它们会这样运作。一起来看看 《设计模式解析》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换