Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le package mssql-django est le backend de base de données Django officiel pris en charge par Microsoft pour SQL Server, Azure SQL Database, Azure SQL Managed Instance et la base de données SQL de Microsoft Fabric. Elle est activement conservée sur GitHub et publiée via PyPI. Cette page couvre la gestion des versions, la compatibilité de la plateforme et la stratégie de prise en charge.
Support de version
Utilisez toujours la dernière version pour obtenir de nouvelles fonctionnalités, améliorations des performances et correctifs de sécurité. Les nouvelles fonctionnalités sont ajoutées uniquement à la version actuelle.
Version actuelle
La version 2.0 est la version actuelle en disponibilité générale (GA).
Important
La version 2.0 exige mssql-python la 1.15.0 ou une version ultérieure, même lorsqu’un alias de base de données utilise pyodbc. Le package s’installe uniquement sur des plateformes ayant une distribution compatible mssql-python . Les projets sur d’autres plateformes restent sur la version 1.8.0.
Définitions d’état de prise en charge
Utilisez ces valeurs d’état dans la table de versions :
| État | Meaning |
|---|---|
| Actuel | Reçoit de nouvelles fonctionnalités, correctifs de bogues et correctifs de sécurité. |
| Précédent | Version historique. Reste disponible, mais ne reçoit pas de mises à jour. |
Historique des versions
| Version | Date de sortie | État | Versions de Django | Fonctionnalités clés |
|---|---|---|---|---|
| 2.0 | Septembre 2026 | Actuel | 5.2 - 6.1 | Pilote optionnel mssql-python, Python 3.10 - 3.14, zoneinfo remplace pytz, MARS et correctifs inspectdb |
| 1.8.0 | Août 2026 | Previous | 3.2 - 6.1 | Prise en charge de Django 6.1, quote_name changement de compilateur de requêtes, introspection de clé étrangère renvoie la règle ON DELETE |
| 1.7.4 | Juillet 2026 | Previous | 3.2 - 6.0 | Corrections de GROUP BY pour les littéraux %% échappés avec des paramètres réels et pour les paramètres IntegerChoices dans les requêtes brutes |
| 1.7.3 | Juin 2026 | Previous | 3.2 - 6.0 | Correctif FA001 pour les modes Authentication= autres que ActiveDirectoryMsi, correctif DatabaseWrapperKeyError sous-classé (régression depuis la version 1.7.1) |
| 1.7.2 | Mai 2026 | Previous | 3.2 - 6.0 | correctif du fuseau horaire datetimeoffset, Now() correctif du fuseau horaire, .explain() correctif de compatibilité |
| 1.7.1 | Avril 2026 | Previous | 3.2 - 6.0 | Correction de la base de données SQL dans Fabric, correction d’AlterField pour les index décroissants |
| 1.7 | Mars 2026 | Previous | 3.2 - 6.0 | Prise en charge de Django 6.0, Pilote ODBC 18 par défaut, prise en charge de SQL Server 2025 |
| 1.6 | Août 2025 | Previous | 3.2 - 5.2 | Prise en charge de Django 5.1 et 5.2, fonctionnalités JSON améliorées |
| 1.5 | Avril 2024 | Previous | 3.2 - 5.0 |
supports_comments indicateur, AutoField correctifs |
| 1.4 | Janvier 2024 | Previous | 3.2 - 5.0 | Prise en charge de Django 5.0, prise en charge de db_comment |
| 1.3 | Mai 2023 | Previous | 3.2 - 4.2 | Prise en charge de Django 4.2, Replace sensible à la casse |
| 1.2 | Décembre 2022 | Previous | 3.2 - 4.1 | Prise en charge de Django 4.1, prise en charge des fuseaux horaires, JSONField sur Azure SQL Managed Instance |
| 1.1 | Juillet 2022 | Previous | 3.2 - 4.0 | Version initiale avec la prise en charge de Django 3.2 et 4.0 |
Les versions antérieures à la version 1.1 étaient préversion et ne sont pas répertoriées.
Important
Les correctifs et les nouvelles fonctionnalités ne sont fournis que dans les nouvelles versions. Les versions antérieures restent disponibles sur PyPI, mais ne sont pas corrigées en place. Pour obtenir des correctifs de bogues ou des correctifs de sécurité, effectuez une mise à niveau vers la dernière version.
Pour obtenir des notes de publication détaillées, consultez Nouveautés de mssql-django.
Compatibilité des versions django et Python
Chaque version de Django prend en charge des versions Python spécifiques.
mssql-django La version 2.0 teste les combinaisons suivantes :
| Version de Django | Versions de 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 ainsi que Python 3.8 et 3.9 ont atteint la fin du support et ne sont pas testés. Les projets sur ces versions restent en mssql-django 1.8.0.
Important
Utilisez toujours une version de Python prise en charge. Les versions antérieures Python ne reçoivent pas de mises à jour de sécurité.
Compatibilité SQL Server et Azure SQL
mssql-djangoLa version 2.0 prend en charge toutes les versions prises en charge de Microsoft SQL. Une version majeure plus récente de SQL Server que le backend ne reconnaît pas se connecte à l’aide du jeu de fonctionnalités le plus récent pris en charge par le backend, au lieu d’échouer à la validation de version.
| Produit ou service | État de la prise en charge |
|---|---|
| SQL Server | Entièrement prise en charge |
| SQL Server sur les machines virtuelles Azure | Entièrement prise en charge |
| Azure SQL Database | Entièrement prise en charge |
| Azure SQL Managed Instance (Instance gérée Azure SQL) | Entièrement prise en charge |
| Base de données SQL dans Fabric | Entièrement prise en charge |
| Entrepôt Microsoft Fabric | Connexions uniquement. Dans le chemin pyodbc, définissez extra_params dans MARS_Connection=no. Les migrations Django et autres fonctionnalités de SQL Server ne sont pas prises en charge. |
| Azure Synapse Analytics | Connexions uniquement. Les migrations Django et autres fonctionnalités de SQL Server ne sont pas prises en charge. |
Compatibilité des pilotes de base de données
mssql-djangoLa version 2.0 se connecte via l’un des deux pilotes de base de données Python, sélectionnés pour chaque alias de base de données. Pour plus d’informations, voir Sélectionner le pilote de base de données pour mssql-django.
| Pilote Python | État de la prise en charge | Connectivity |
|---|---|---|
pyodbc |
Entièrement pris en charge (par défaut) | Pilote Microsoft ODBC 17 ou 18 pour SQL Server, installé séparément |
mssql-python |
Entièrement pris en charge (en activant l’option python_driver) |
Intégré, sans installation séparée |
Compatibilité des pilotes ODBC
Sur le pyodbc chemin, le backend utilise par défaut le pilote ODBC 18 pour SQL Server et revient automatiquement au pilote ODBC 17 si la version 18 n'est pas installée. Remplacez la valeur par défaut par l’option driver dans la configuration de votre base de données. Une valeur explicite ne revient pas.
| Pilote ODBC | État de la prise en charge |
|---|---|
| Microsoft ODBC Driver 18 for SQL Server | Entièrement pris en charge (par défaut) |
| Microsoft ODBC Driver 17 pour SQL Server | Entièrement pris en charge (fallback) |
| Pilote ODBC FreeTDS | Soutenu sur le pyodbc chemin |
Le mssql-python chemin ignore cette driver option.
Pour obtenir des instructions d’installation, consultez Télécharger odbc Driver for SQL Server.
Compatibilité du système d’exploitation
mssql-django La version 2.0 nécessite mssql-python, donc le paquet ne s’installe que lorsqu’une distribution compatible mssql-python existe. Cette exigence s’applique même lorsque chaque alias de base de données utilise pyodbc.
| Système d'exploitation | Architecture | État de la prise en charge |
|---|---|---|
| Windows 11, Windows Server 2019, 2022 et 2025 | x64 | Soutenu |
| Windows 11, Windows Server 2022 et 2025 | ARM64 | Pris en charge par Python 3.11 et versions ultérieures |
| macOS 15 et versions ultérieures | Intel, Apple Silicon | Soutenu |
| Linux avec glibc 2.28 ou versions ultérieures, telles qu’Ubuntu 22.04 et 24.04, Debian 11 et 12, et Red Hat Enterprise Linux 8 et 9 | x64, ARM64 | Soutenu |
| Linux avec musl 1.2 ou une version ultérieure, comme Alpine Linux | x64, ARM64 | Soutenu |
| SUSE Linux Enterprise Server | ARM64 | Non pris en charge |
Les projets sur une plateforme non prise en charge restent sur la version mssql-django1.8.0, qui ne nécessite pas mssql-python.
Sur le pyodbc chemin, installez séparément le pilote Microsoft ODBC pour SQL Server. Les étapes d’installation varient selon le système d’exploitation. Consultez Installer mssql-django pour une configuration spécifique à la plateforme.
Compatibilité des fonctionnalités
Les tableaux suivants répertorient les fonctionnalités de Django et de SQL Server ainsi que leur état de prise en charge dans le backend mssql-django. Pour plus d’informations sur les fonctionnalités non prises en charge, consultez Limitations et fonctionnalités non prises en charge dans mssql-django.
Fonctionnalités ORM Django
| Fonctionnalité | prise en charge de mssql-django |
|---|---|
| Migrations | Yes |
QuerySet Interface de Programmation d'Applications (API) |
Yes |
JSONField |
Yes |
bulk_create / bulk_update |
Yes |
| Transactions de base de données | Yes |
inspectdb avec --schema |
Yes |
DISTINCT ON |
Non |
__regex
/
__iregex Recherches |
Partiel (nécessite la configuration de l’assembly CLR ; indisponible sur Azure SQL Database) |
SmallAutoField |
Yes |
select_for_update() |
Oui (NOWAIT et SKIP_LOCKED ; of non pris en charge) |
| Fonctions de fenêtre | Yes |
GeneratedField (colonnes calculées) |
Oui (Django 5.0 et versions ultérieures) |
CompositePrimaryKey |
Partiel (Django 5.2 et versions ultérieures ; voir les limitations) |
db_comment |
Oui (Django 4.2 et versions ultérieures) |
Index de couverture (include) |
Oui (Django 4.2 et versions ultérieures) |
NthValue |
Non |
fonctionnalités SQL Server
| Fonctionnalité | prise en charge de mssql-django |
|---|---|
| Connexions chiffrées (TLS) | Yes |
| Toujours Chiffré | Yes |
| Authentification par Microsoft Entra | Yes |
| MARS (Multiple Active Result Sets) | Oui, sur le pyodbc chemin. Le backend active MARS lorsque l’alias utilise un pilote Microsoft ODBC sous Windows. Le mssql-python chemin n’active jamais MARS et rejette le MARS_Connection mot-clé. |
| Procédures stockées | Oui (via cursor.execute) |
SNAPSHOT isolement |
Oui (nécessite une configuration au niveau de la base de données) |
| Routage en lecture seule | Yes |
Exigences en matière de dépendance
Le mssql-django package installe automatiquement les dépendances suivantes :
| Dépendance | Purpose | Version requise |
|---|---|---|
| Django | Framework web | >=5.2,<6.2 |
pyodbc |
Pilote de base de données ODBC par défaut pour Python | >=3.0 |
mssql-python |
Pilote de base de données pour Python. Installé sans condition, et utilisé uniquement lorsqu’un alias s’inscrit. | >=1.15.0 |
tzdata |
Base de données de fuseaux horaires IANA pour le module bibliothèque zoneinfo standard, utilisé lorsque le système d’exploitation n’en fournit pas un |
Any |
Le pyodbc chemin nécessite également le pilote Microsoft ODBC pour SQL Server sur le système hôte. Le mssql-python chemin n’a pas d’installation de pilote ODBC séparé. Pour plus d’informations, consultez Installer mssql-django.
Stratégie de gestion des versions et des changements cassants
- Versions majeures (2.0) : Peut modifier les systèmes Python, Django, SQL Server et la matrice de plateforme pris en charge, et peut ajouter ou supprimer des dépendances. Les changements inattendus n’apparaissent que dans une version majeure.
- Versions mineures (1.6, 1.7) : incluez la prise en charge des nouvelles versions de Django, les nouvelles fonctionnalités et les correctifs de bogues. Maintenez la compatibilité descendante.
- Versions correctives (1.7.1, 1.7.2, 1.7.3, 1.7.4) : Incluent uniquement les correctifs de bugs.
L'équipe documente les changements cassants dans les notes de publication. Consultez les nouveautés de mssql-django pour obtenir des notes spécifiques à la version.
Comment rester en cours
Le mssql-django serveur principal publie de nouvelles versions pour suivre les versions de Django. Recherchez les mises à jour lors de la mise à niveau de Django.
Vérifier la version installée
Vérifiez la version actuellement installée :
pip show mssql-django
Mettre à niveau vers la dernière version
Effectuez une mise à jour vers la dernière version :
pip install --upgrade mssql-django
S’abonner aux mises à jour
- Regardez le référentiel GitHub pour les notifications de mise en production.
- Vérifiez PyPI pour connaître les nouvelles versions.
- Passez en revue le journal des modifications pour chaque version.
Obtenir du support
Microsoft prend en charge mssql-django par le biais de GitHub et de canaux communautaires.
problèmes de GitHub
Signaler les bogues et les fonctionnalités de demande sur GitHub :
Lorsque vous signalez un problème, incluez votre version Django, version Python, version SQL Server, le pilote de base de données Python et sa version, ainsi qu’une reproduction minimale du problème.
Contribuer
Les contributions communautaires sont bienvenues. Pour plus d’informations sur le contrat de licence contributeur (CLA) et le processus de soumission, consultez le guide de contribution.
Communauté
- Stack Overflow : étiqueter les questions avec
djangoetsql-server. - Documentation Django
- Centre de développement Azure Python