mssql-django 支持情况和生命周期

mssql-django 包是 Microsoft 官方支持的、适用于 SQL Server、Azure SQL 数据库、Azure SQL 托管实例 和 Microsoft Fabric 中 SQL 数据库的 Django 数据库后端。 它在GitHub上持续维护,并通过PyPI发布。 本页介绍版本控制、平台兼容性和支持策略。

版本支持

始终使用最新版本来获取新功能、性能改进和安全修补程序。 新功能仅添加到当前版本。

当前版本

1.7.3 版本是当前正式发布(GA)版本。

支持状态定义

在版本表中使用这些状态值:

地位 Meaning
当前 获得新功能、错误修复和安全修复。
上一篇 历史版本。 仍可用,但不会接收更新。

版本历史记录

版本 发行日期 地位 Django 版本 主要功能
1.7.3 2026 年 6 月 当前 3.2 - 6.0 FA001针对除 ActiveDirectoryMsi 之外的 Authentication= 模式的修复,以及对子类化的 DatabaseWrapperKeyError 的修复(1.7.1 引入的回归问题)
1.7.2 2026 年 5 月 上一个 3.2 - 6.0 datetimeoffset 时区修复, Now() 时区修复, .explain() 兼容性修复
1.7.1 2026 年 4 月 上一个 3.2 - 6.0 Fabric 中 SQL 数据库修复,降序索引 AlterField 修复
1.7 2026 年 3 月 上一个 3.2 - 6.0 Django 6.0 支持、ODBC 驱动程序 18 默认值、SQL Server 2025 支持
1.6 2025 年 8 月 上一个 3.2 - 5.2 Django 5.1 和 5.2 支持、增强的 JSON 功能
1.5 2024 年 4 月 上一个 3.2 - 5.0 supports_comments 标记,AutoField 修复
1.4 2024 年 1 月 上一个 3.2 - 5.0 Django 5.0 支持、 db_comment 支持
1.3 2023 年 5 月 上一个 3.2 - 4.2 支持 Django 4.2,区分大小写 Replace
1.2 2022 年 12 月 上一个 3.2 - 4.1 Azure SQL 托管实例上的 Django 4.1 支持、时区支持、JSONField
1.1 2022 年 7 月 上一个 3.2 - 4.0 支持 Django 3.2 和 4.0 的初始版本

1.1 之前的版本是预发行版本,未列出。

Important

修补程序和新功能仅在新版本中提供。 旧版本在 PyPI 上仍然可用,但未进行修补。 若要获取 bug 修复或安全修补程序,请升级到最新版本。

有关详细的发行说明,请参阅 mssql-django 中的新增功能。

Django 和 Python 版本兼容性

每个 Django 版本都支持特定的Python版本。 选择版本时,请确保 Django、Python 和 mssql-django 之间相互兼容:

Django 版本 Python 版本
6.0 3.12, 3.13, 3.14
5.2 3.10, 3.11, 3.12, 3.13
5.1 3.10, 3.11, 3.12, 3.13
5.0 3.10, 3.11, 3.12
4.2 3.8, 3.9, 3.10, 3.11, 3.12
4.1 3.8, 3.9, 3.10, 3.11
4.0 3.8, 3.9, 3.10
3.2 3.8, 3.9, 3.10

Important

始终使用受支持的Python版本。 较旧的Python版本不会收到安全更新。

SQL Server版本兼容性

后端mssql-django适用于所有受支持的SQL Server版本。

Azure SQL 服务

服务 支持状态
Azure SQL 数据库 完全支持
Azure SQL 托管实例 完全支持

Microsoft Fabric

终结点 支持状态
Fabric 中的 SQL 数据库 完全支持

ODBC 驱动程序兼容性

后端 mssql-django 需要外部 ODBC 驱动程序,这与使用直接数据库连接(DDBC)的驱动程序不同 mssql-python

mssql-django 1.7 开始,后端默认为 ODBC Driver 18 for SQL Server,如果未安装版本 18,则会自动回退到 ODBC 驱动程序 17。 可以通过在数据库配置中指定 driver 选项来替代此选项。

ODBC 驱动程序 支持状态
Microsoft ODBC Driver 18 for SQL Server 完全支持(默认值)
Microsoft ODBC Driver 17 for SQL Server 完全受支持(后备)
FreeTDS ODBC 驱动程序 支持

有关安装说明,请参阅下载 ODBC Driver for SQL Server

操作系统兼容性

mssql-django后端可在任何支持 Python 和 ODBC 驱动程序的环境中运行。 ODBC 驱动程序安装步骤因操作系统而异。 有关特定于平台的设置,请参阅 安装 mssql-django

操作系统 Architecture 支持状态
Windows 11 x64、ARM64 支持
Windows Server 2019、2022、2025 x64 支持
Ubuntu 22.04、24.04 x64、ARM64 支持
Debian 11、 12 x64、ARM64 支持
Red Hat Enterprise Linux 8、 9 x64、ARM64 支持
macOS 14、15 Intel、Apple Silicon (ARM64) 支持
Alpine Linux x64 支持(需要 glibc 兼容层或 FreeTDS)

功能兼容性

以下表格列出了 Django 和 SQL Server 的功能及其在 mssql-django 后端中的支持状态。 有关不支持的功能的更多详细信息,请参阅 mssql-django 中的限制和不支持的功能

Django ORM 功能

功能 / 特点 mssql-django 支持
迁移 Yes
QuerySet API(应用程序接口) Yes
JSONField 是(SQL Server 2016+)
bulk_create / bulk_update Yes
数据库事务 Yes
inspectdb--schema Yes
DISTINCT ON No
__regex / __iregex 查找 部分(需要配置 CLR 程序集;在 Azure SQL 数据库 中不可用)
SmallAutoField Yes
select_for_update() 是(NOWAIT 且 SKIP_LOCKED;of 不受支持)
窗口函数 Yes
GeneratedField (计算列) 是(Django 5.0 及更高版本)
CompositePrimaryKey 部分 (Django 5.2 及更高版本;请参阅限制)
db_comment 是 (Django 4.2 及更高版本)
覆盖索引(include 是 (Django 4.2 及更高版本)
NthValue No

SQL Server功能

功能 / 特点 对 mssql-django 的支持
加密连接 (TLS) Yes
始终加密 (Always Encrypted) Yes
Microsoft Entra 身份验证 Yes
多个活动的结果集 (MARS) 是(通过 pyodbc
存储过程 是(通过 cursor.execute
SNAPSHOT 隔离 是(需要数据库级配置)
只读路由 Yes

依赖项要求

mssql-django 包会自动安装以下依赖项:

依赖 Purpose 所需版本
Django Web 框架 >= 3.2
pyodbc 用于Python的 ODBC 数据库驱动程序 >= 3.0
pytz 时区支持(旧式;现代 Django 使用内置的 zoneinfoUSE_TZ=True Any

后端mssql-django还需要在主机系统上安装用于SQL Server的 Microsoft ODBC 驱动程序。 有关详细信息,请参阅 安装 mssql-django

版本控制和破坏性变更政策

  • 次要版本 (1.6、1.7):包括新的 Django 版本支持、新功能和 bug 修复。 保持向后兼容性。
  • 修补程序版本 (1.7.1、1.7.2、1.7.3):仅包括 bug 修复。

团队在发行说明中记录破坏性变更。 有关特定版本的说明,请参阅 mssql-django 的新增内容

如何保持最新状态

mssql-django 后端会发布新版本,以跟进 Django 的版本发布。 升级 Django 时检查更新。

检查已安装的版本

验证当前已安装的版本:

pip show mssql-django

升级到最新版本

更新到最新版本:

pip install --upgrade mssql-django

订阅更新

获取支持

Microsoft通过GitHub和社区渠道提供支持mssql-django

GitHub 问题

在 GitHub 上报告问题并请求新功能:

报告问题时,请包括 Django 版本、Python版本、SQL Server版本、ODBC 驱动程序版本以及问题的最小复制。

Contribute

欢迎社区捐款。 有关参与者许可协议(CLA)和提交过程的详细信息,请参阅 贡献指南

Community