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 使用内置的 zoneinfo 和 USE_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
- Stack Overflow:使用
django和sql-server标记问题。 - Django 文档
- Azure Python 开发人员中心