mssql-django パッケージは、Microsoft FabricのSQL Server、Azure SQL Database、Azure SQL Managed Instance、および SQL データベース用の公式のMicrosoftサポートされている Django データベース バックエンドです。 これは、GitHubで積極的に維持され、PyPI を通じてリリースされます。 このページでは、バージョン管理、プラットフォームの互換性、およびサポート ポリシーについて説明します。
バージョンのサポート
常に最新のリリースを使用して、新機能、パフォーマンスの向上、およびセキュリティ修正を取得します。 新機能は、現在のリリースにのみ追加されます。
現在のバージョン
バージョン2.0が現在の一般公開(GA)リリースです。
Important
バージョン2.0では、データベースエイリアスがpyodbcを使っていても、1.15.0以降のmssql-pythonが必要です。 このパッケージは、互換性のある mssql-python ディストリビューションを持つプラットフォームにのみインストールされます。 他のプラットフォームのプロジェクトはバージョン1.8.0のままです。
サポート状態の定義
バージョン テーブルで次の状態値を使用します。
| 地位 | Meaning |
|---|---|
| 現在 | 新機能、バグ修正、およびセキュリティ修正プログラムを受け取ります。 |
| 前へ | リリース履歴。 引き続き利用可能ですが、更新プログラムは受け取りません。 |
バージョン履歴
| バージョン | リリース日 | 地位 | Django のバージョン | 主要な機能 |
|---|---|---|---|---|
| 2.0 | 2026 年 9 月 | 現在 | 5.2 - 6.1 |
mssql-python ドライバーのオプトイン、Python 3.10~3.14、zoneinfo が pytz に置き換え、MARS および inspectdb の修正 |
| 1.8.0 | 2026 年 8 月 | 前へ | 3.2 - 6.1 | Django 6.1のサポート、quote_name クエリコンパイラの変更、外部キーのイントロスペクションで ON DELETE 規則を返す |
| 1.7.4 | 2026 年 7 月 | 前へ | 3.2 - 6.0 |
GROUP BY が実際のパラメータを含むエスケープされた %% リテラル、生のクエリ内の IntegerChoicesIntegerChoices パラメータに対する修正をします |
| 1.7.3 | 2026 年 6 月 | 前へ | 3.2 - 6.0 |
FA001
Authentication=以外のActiveDirectoryMsiモードの修正、サブクラス化された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 Managed InstanceでのJSONField |
| 1.1 | 2022年7月 | 前へ | 3.2 - 4.0 | Django 3.2 および 4.0 サポートを使用した最初のリリース |
1.1 より前のバージョンはプレリリースであり、一覧に記載されていません。
Important
修正プログラムと新機能は、新しいリリースでのみ提供されます。 以前のバージョンは PyPI で引き続き使用できますが、パッチは適用されません。 バグ修正またはセキュリティ修正プログラムを取得するには、最新リリースにアップグレードします。
詳細なリリース ノートについては、「 mssql-django の新機能」を参照してください。
Django と Python バージョンの互換性
各 Django リリースでは、特定のPython バージョンがサポートされます。
mssql-django 2.0は以下の組み合わせをテストします:
| Django バージョン | Python のバージョン |
|---|---|
| 6.1 | 3.12, 3.13, 3.14 |
| 6.0 | 3.12, 3.13, 3.14 |
| 5.2 | 3.10, 3.11, 3.12, 3.13 |
Django 3.2から5.1、Python 3.8、3.9はサポート終了となり、テストされていません。 これらのバージョンのプロジェクトは mssql-django 1.8.0のままです。
Important
サポートされているPythonバージョンを常に使用してください。 古いPythonバージョンでは、セキュリティ更新プログラムは受け取りません。
SQL Server と Azure SQL 互換性
mssql-django2.0はサポートされているすべてのMicrosoft SQLバージョンをサポートしています。 バックエンドが認識しない新しいSQL Serverメジャーバージョンは、バージョン検証に失敗するのではなく、バックエンドが知っている最新の能力セットを使って接続します。
| 製品またはサービス | サポートの状態 |
|---|---|
| SQL Server | 完全にサポートされています |
| Azure仮想マシン上のSQL Server | 完全にサポートされています |
| Azure SQL Database | 完全にサポートされています |
| Azure SQL Managed Instance | 完全にサポートされています |
| Fabric の SQL データベース | 完全にサポートされています |
| Microsoft Fabric ウェアハウス | 接続のみ。
pyodbc パスで、MARS_Connection=no に extra_params を設定してください。 Djangoの移行やその他のSQL Server機能はサポートされていません。 |
| Azure Synapse Analytics | 接続のみ。 Djangoの移行やその他のSQL Server機能はサポートされていません。 |
データベースドライバーの互換性
mssql-django2.0は、各データベースエイリアスごとに選択される2つのPythonデータベースドライバのいずれかを介して接続されます。 詳細については、 mssql-djangoのデータベースドライバーを選択することをご覧ください。
| Pythonドライバー | サポートの状態 | Connectivity |
|---|---|---|
pyodbc |
完全にサポート (既定) | Microsoft ODBC Driver 17 または SQL Server 18、別途インストール |
mssql-python |
完全サポート( python_driver オプションで参加を依頼) |
内蔵で、別途設置する必要はありません |
ODBC ドライバーの互換性
pyodbcパスでは、バックエンドは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 ドライバー |
pyodbc パスでサポートされています |
mssql-pythonパスはdriverオプションを無視します。
インストール手順については、「ODBC Driver for SQL Server のダウンロード」を参照してください。
オペレーティング システムの互換性
mssql-django 2.0は mssql-pythonを必要とするため、互換性のある mssql-python ディストリビューションが存在する場所にのみパッケージをインストールします。 この要件は、すべてのデータベースエイリアスが pyodbcを使っていても適用されます。
| オペレーティング システム | Architecture | サポートの状態 |
|---|---|---|
| Windows 11、Windows Server 2019、2022、2025 | x64 | サポートされています |
| Windows 11、Windows Server 2022および2025 | ARM64 | Python 3.11以降のバージョンでサポートされています |
| macOS 15以降のバージョン | インテル、アップルシリコン | サポートされています |
| glibc 2.28以降のLinux(Ubuntu 22.04および24.04、Debian 11および12、Red Hat Enterprise Linux 8および9など)は | x64、ARM64 | サポートされています |
| Musl 1.2以降のLinux、例えばAlpine Linuxなど | x64、ARM64 | サポートされています |
| SUSE Linux Enterprise Server | ARM64 | サポートしていません |
サポートされていないプラットフォーム上のプロジェクトは mssql-django 1.8.0に留まり、 mssql-pythonを必要としません。
pyodbcパスでは、SQL ServerのMicrosoft ODBCドライバーを別途インストールしてください。 インストール手順はOSによって異なります。 プラットフォーム固有のセットアップについては、「 mssql-django のインストール 」を参照してください。
機能の互換性
次の表に、mssql-django バックエンドの Django およびSQL Server機能とそのサポート状態を示します。 サポートされていない機能の詳細については、「 mssql-django の制限事項とサポートされていない機能」を参照してください。
Django ORM の機能
| 特徴 | mssql-django のサポート |
|---|---|
| Migrations | Yes |
QuerySet API (アプリケーション・プログラミング・インターフェース) |
Yes |
JSONField |
Yes |
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 機能
| 特徴 | mssql-django のサポート |
|---|---|
| 暗号化された接続 (TLS) | Yes |
| 常に暗号化されています | Yes |
| Microsoft Entra 認証 | Yes |
| 複数のアクティブな結果セット (MARS) |
pyodbc のパスについては「はい」です。 バックエンドは、エイリアスがWindowsでMicrosoftのODBCドライバーを使用するとMARSを有効にします。
mssql-pythonパスはMARSを有効にしず、MARS_Connectionキーワードも拒否します。 |
| ストアド プロシージャ | はい ( cursor.execute 経由) |
SNAPSHOT 隔離 |
はい (データベース レベルの構成が必要) |
| 読み取り専用ルーティング | Yes |
依存関係の要件
mssql-django パッケージは、次の依存関係を自動的にインストールします。
| 依存関係 | Purpose | 必要なバージョン |
|---|---|---|
| Django | Web フレームワーク | >=5.2,<6.2 |
pyodbc |
Python用のデフォルトODBCデータベースドライバー | >=3.0 |
mssql-python |
Pythonデータベースドライバー。 無条件にインストールされ、エイリアスがオプトインした場合にのみ使用されます。 | >=1.15.0 |
tzdata |
標準ライブラリ zoneinfo モジュール用のIANAタイムゾーンデータベース。オペレーティングシステムがタイムゾーンを提供していない場合に使用されます |
Any |
pyodbcパスにはホストシステムでのSQL Server Microsoft ODBCドライバーも必要です。
mssql-pythonパスには別のODBCドライバーのインストールはありません。 詳細については、「 mssql-django のインストール」を参照してください。
バージョン管理と破壊的変更に関するポリシー
- メジャーバージョン(2.0):サポートされるPython、Django、SQL Server、プラットフォームのマトリックスを変更でき、依存関係の追加または削除が可能です。 重大な変更はメジャーバージョンにのみ現れます。
- マイナー バージョン (1.6、1.7): 新しい Django バージョンのサポート、新機能、バグ修正が含まれています。 下位互換性を維持します。
- パッチバージョン (1.7.1、1.7.2、1.7.3、1.7.4):バグ修正のみを含みます。
チームは、リリース ノートの破壊的変更を文書化します。 バージョン固有のメモについては、 mssql-django の新機能 を参照してください。
最新の状態を維持する方法
mssql-django バックエンドは、Django リリースを追跡するために新しいバージョンをリリースします。 Django をアップグレードするときに更新プログラムを確認します。
インストールされているバージョンを確認する
現在インストールされているバージョンを確認します。
pip show mssql-django
最新バージョンへのアップグレード
最新リリースに更新します。
pip install --upgrade mssql-django
更新情報を登録する
- リリース通知については、GitHub リポジトリをご覧ください。
- PyPI で新しいリリースを確認します。
- 各リリースの 変更ログ を確認します。
サポートを受ける
Microsoftでは、GitHubやコミュニティ チャネルを通じたmssql-djangoがサポートされます。
GitHub の問題
GitHubでバグを報告し、機能を要求します。
問題を報告する際は、Djangoバージョン、Pythonバージョン、SQL Serverバージョン、Pythonデータベースドライバーとそのバージョン、そして問題の最小限の再現を含めてください。
Contribute
コミュニティへの投稿は大歓迎です。 共同作成者使用許諾契約書 (CLA) と提出プロセスの詳細については、 投稿ガイドを参照してください。
Community
- スタック オーバーフロー:
djangoとsql-serverで質問にタグを付けます。 - Django のドキュメント
- Azure Python デベロッパー センター