support et cycle de vie de mssql-django

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

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é