此mssql-django套件是 Microsoft 官方支援的 Django 資料庫後端,支援 SQL Server、Azure SQL Database、Azure SQL 受控執行個體 及 Microsoft Fabric 中的 SQL 資料庫。 它在 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 Driver 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 | 支援 Django 4.1、支援時區,以及 Azure SQL 受控執行個體 上的 JSONField |
| 1.1 | 2022 年 7 月 | 上一個 | 3.2 - 4.0 | 初期版本支援 Django 3.2 與 4.0 |
1.1 之前的版本是預發布的,未被列出。
Important
修正和新功能只會在新版本中推出。 舊版本仍可在 PyPI 上使用,但未被修補。 要獲得錯誤修正或安全修正,請升級到最新版本。
詳細的釋出說明請參見 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 Database | 完全支援 |
| Azure SQL 受控執行個體 | 完全支援 |
Microsoft Fabric
| 終點 | 支援狀態 |
|---|---|
| Fabric 中的 SQL 資料庫 | 完全支援 |
ODBC 驅動程式相容性
mssql-django後端需要外部 ODBC 驅動程式,與mssql-python使用直接資料庫連接(DDBC)的驅動不同。
從 1.7 版本開始mssql-django,後端預設為 SQL Server 的 ODBC 驅動程式 18,若未安裝版本 18,則自動回退到 ODBC 驅動程式 17。 你可以在資料庫設定中指定 driver 這個選項來覆蓋這個設定。
| ODBC 驅動程式 | 支援狀態 |
|---|---|
| Microsoft ODBC Driver 18 for SQL Server | 完全支援(預設) |
| Microsoft ODBC Driver 17 for SQL Server | 完全支援(後備) |
| FreeTDS ODBC 驅動程式 | 支持 |
安裝說明請參見 Download ODBC 驅動程式 for SQL Server。
作業系統相容性
mssql-django後端只要支援 Python 和 ODBC 驅動程式,就能跑。 ODBC 驅動程式的安裝步驟會因作業系統而異。 請參閱 Install 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 | 英特爾、蘋果矽晶片(ARM64) | 支持 |
| 阿爾卑斯Linux | x64 | 支援(需要 glibc 相容層或 FreeTDS) |
功能相容性
以下表格列出 Django 與 SQL Server 的功能及其後端支援狀態mssql-django。 欲了解更多未支援功能,請參閱 mssql-django 中的限制與未支援功能。
Django ORM 功能
| Feature | MSSQL-Django 支援 |
|---|---|
| Migrations | Yes |
QuerySet 應用程式介面 |
Yes |
JSONField |
是的(SQL Server 2016+) |
bulk_create / bulk_update |
Yes |
| 資料庫交易 | Yes |
inspectdb 和 --schema |
Yes |
DISTINCT ON |
No |
__regex
/
__iregex 查詢 |
部分(需要設定 CLR 組件;Azure SQL Database 無法使用) |
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 功能
| Feature | MSSQL-Django 支援 |
|---|---|
| 加密連線(TLS) | Yes |
| 永遠加密 | 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後端也要求在主機系統上安裝 Microsoft ODBC SQL Server 驅動程式。 欲了解更多資訊,請參閱 安裝 mssql-django。
版本控管與破壞性變更政策
- 次要版本 (1.6、1.7):包含新的 Django 版本支援、新功能及錯誤修正。 保持向下相容性。
- 補丁版本 (1.7.1、1.7.2、1.7.3):僅包含錯誤修正。
團隊會在發布說明中記錄重大變更。 請參閱 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 開發人員中心