Compatibilidad y ciclo de vida de mssql-django

El paquete mssql-django es el controlador de base de datos oficial de Django, con soporte oficial de Microsoft, para SQL Server, Azure SQL Database, Azure SQL Managed Instance y la base de datos SQL de Microsoft Fabric. Se mantiene activamente en GitHub y se libera a través de PyPI. En esta página se tratan el control de versiones, la compatibilidad de la plataforma y la directiva de soporte técnico.

Soporte de versiones

Use siempre la versión más reciente para obtener nuevas características, mejoras de rendimiento y correcciones de seguridad. Las nuevas funcionalidades solo se agregan a la versión actual.

Versión actual

La versión 2.0 es la versión actual de disponibilidad general (GA).

Importante

La versión 2.0 requiere mssql-python 1.15.0 o una versión posterior, incluso cuando un alias de base de datos utiliza pyodbc. El paquete solo se instala en plataformas que tienen una distribución compatible mssql-python . Los proyectos en otras plataformas permanecen en la versión 1.8.0.

Definiciones del estado de soporte

Use estos valores de estado en la tabla de versiones:

Situación Meaning
Actual Recibe nuevas características, correcciones de errores y correcciones de seguridad.
Anterior Versión histórica. Permanece disponible, pero no recibe actualizaciones.

Historial de versiones

Versión Fecha de lanzamiento Situación Versiones de Django Características clave
2.0 Septiembre de 2026 Actual 5.2 - 6.1 Controlador opcional mssql-python, Python 3.10 - 3.14, zoneinfo reemplaza a pytz, correcciones para MARS y inspectdb
1.8.0 Agosto de 2026 Previous 3.2 - 6.1 Compatibilidad con Django 6.1, quote_name cambio en el compilador de consultas, la introspección de claves foráneas recupera la regla ON DELETE
1.7.4 Julio de 2026 Previous 3.2 - 6.0 Correcciones GROUP BY para literales %% escapados con parámetros reales y para parámetros IntegerChoices en consultas sin formato
1.7.3 Junio de 2026 Previous 3.2 - 6.0 Corrección de FA001 para modos Authentication= distintos de ActiveDirectoryMsi, corrección de subclases DatabaseWrapperKeyError (regresión desde la versión 1.7.1)
1.7.2 Mayo de 2026 Previous 3.2 - 6.0 datetimeoffset corrección de zona horaria, Now() corrección de zona horaria, .explain() corrección de compatibilidad
1.7.1 Abril de 2026 Previous 3.2 - 6.0 Corrección de la base de datos SQL en Fabric, corrección de AlterField con índice descendente
1.7 Marzo de 2026 Previous 3.2 - 6.0 Compatibilidad con Django 6.0, ODBC Driver 18 predeterminado, compatibilidad con SQL Server 2025
1.6 Agosto de 2025 Previous 3.2 - 5.2 Compatibilidad con Django 5.1 y 5.2, funcionalidad JSON mejorada
1.5 Abril de 2024 Previous 3.2 - 5.0 Indicador supports_comments, correcciones de AutoField
1.4 Enero de 2024 Previous 3.2 - 5.0 Compatibilidad con Django 5.0, compatibilidad con db_comment
1.3 Mayo de 2023 Previous 3.2 - 4.2 Compatibilidad con Django 4.2, distingue mayúsculas de minúsculas Replace
1.2 Diciembre de 2022 Previous 3.2 - 4.1 Compatibilidad con Django 4.1, compatibilidad con zona horaria, JSONField en Azure SQL Managed Instance
1.1 Julio de 2022 Previous 3.2 - 4.0 Versión inicial con compatibilidad con Django 3.2 y 4.0

Las versiones anteriores a la versión 1.1 eran versiones preliminares y no se enumeran.

Importante

Las correcciones y las nuevas características solo se incluyen en nuevas versiones. Las versiones anteriores siguen estando disponibles en PyPI, pero no se aplican revisiones. Para obtener correcciones de errores o correcciones de seguridad, actualice a la versión más reciente.

Para obtener notas detalladas de la versión, consulte Novedades de mssql-django.

Compatibilidad de versiones de Django y Python

Cada versión de Django admite versiones específicas de Python. mssql-django 2.0 prueba las siguientes combinaciones:

Versión de Django Versiones 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 a 5.1 y Python 3.8 y 3.9 llegaron al final del soporte y no se han probado. Los proyectos de esas versiones permanecen en mssql-django la versión 1.8.0.

Importante

Use siempre una versión de Python compatible. Las versiones de Python anteriores no reciben actualizaciones de seguridad.

Compatibilidad con SQL Server y Azure SQL

mssql-djangoLa versión 2.0 es compatible con todas las versiones compatibles de Microsoft SQL. Una versión principal más reciente de SQL Server que el backend no reconoce se conecta utilizando el conjunto de capacidades más reciente que el backend conoce, en lugar de hacer que falle la validación de la versión.

Producto o servicio Estado de soporte
Servidor SQL Totalmente compatible
SQL Server en máquinas virtuales de Azure Totalmente compatible
Azure SQL Database Totalmente compatible
Instancia Gestionada de Azure SQL Totalmente compatible
Base de datos SQL en Fabric Totalmente compatible
Microsoft Fabric Warehouse Solo conexiones. En la ruta pyodbc, establece MARS_Connection=no en extra_params. Las migraciones de Django y otras funciones de SQL Server no están soportadas.
Azure Synapse Analytics Solo conexiones. Las migraciones de Django y otras funciones de SQL Server no están soportadas.

Compatibilidad de controladores de bases de datos

mssql-djangoLa versión 2.0 se conecta a través de uno de dos controladores de base de datos en Python, seleccionados para cada alias de base de datos. Para más información, consulte Seleccionar el controlador de base de datos para mssql-django.

Controlador de Python Estado de soporte Connectivity
pyodbc Totalmente compatible (valor predeterminado) Microsoft ODBC Driver 17 o 18 para SQL Server, instalado por separado
mssql-python Totalmente soportado (optar por la python_driver opción) Incorporado, sin instalación separada

Compatibilidad del controlador ODBC

En la ruta pyodbc, el backend usa por defecto ODBC Driver 18 for SQL Server y recurre automáticamente a ODBC Driver 17 si la versión 18 no está instalada. Anula la opción por defecto con la driver opción en la configuración de tu base de datos. Un valor explícito no se recua.

Controlador ODBC Estado de soporte
Microsoft ODBC Driver 18 for SQL Server Totalmente compatible (valor predeterminado)
Microsoft ODBC Driver 17 para SQL Server Totalmente compatible (solución alternativa)
Controlador ODBC FreeTDS Compatible con la ruta pyodbc

El mssql-python camino ignora la driver opción.

Para obtener instrucciones de instalación, consulte Descarga de ODBC Driver for SQL Server.

Compatibilidad del sistema operativo

mssql-django La versión 2.0 requiere mssql-python, por lo que el paquete solo se instala donde existe una distribución compatible mssql-python . Ese requisito se aplica incluso cuando todos los alias de base de datos usan pyodbc.

Sistema operativo Architecture Estado de soporte
Windows 11, Windows Server 2019, 2022 y 2025 x64 Soportado
Windows 11, Windows Server 2022 y 2025 ARM64 Compatible con Python 3.11 y versiones posteriores
macOS 15 y versiones posteriores Intel, Apple Silicon Soportado
Linux con glibc 2.28 o posterior, como Ubuntu 22.04 y 24.04, Debian 11 y 12, y Red Hat Enterprise Linux 8 y 9 x64, ARM64 Soportado
Linux con musl 1.2 o posterior, como Alpine Linux x64, ARM64 Soportado
SUSE Linux Enterprise Server ARM64 No soportado

Los proyectos en una plataforma no compatible siguen usando mssql-django la versión 1.8.0, que no requiere mssql-python.

En la ruta pyodbc, instala el controlador Microsoft ODBC para SQL Server por separado. Los pasos de instalación varían según el sistema operativo. Consulte Instalación de mssql-django para la configuración específica de la plataforma.

Compatibilidad de características

En las tablas siguientes se enumeran las características de Django y SQL Server y su estado de soporte técnico en el mssql-django back-end. Para obtener más información sobre las características no admitidas, consulte Limitaciones y características no admitidas en mssql-django.

Características de ORM de Django

Feature Compatibilidad con mssql-django
Migrations Yes
QuerySet Interfaz de Programación de Aplicaciones (API) Yes
JSONField Yes
bulk_create / bulk_update Yes
Transacciones de base de datos Yes
inspectdb con --schema Yes
DISTINCT ON No
__regex / __iregex búsquedas Parcial (requiere la configuración del ensamblado CLR; no disponible en Azure SQL Database)
SmallAutoField Yes
select_for_update() Sí (NOWAIT y SKIP_LOCKED; of no se admite)
Funciones de ventana Yes
GeneratedField (columnas calculadas) Sí (Django 5.0 y versiones posteriores)
CompositePrimaryKey Parcial (Django 5.2 y versiones posteriores; consulte limitaciones)
db_comment Sí (Django 4.2 y versiones posteriores)
Índices de cobertura (include) Sí (Django 4.2 y versiones posteriores)
NthValue No

Características de SQL Server

Feature Compatibilidad con mssql-django
Conexiones cifradas (TLS) Yes
Siempre Cifrado Yes
autenticación de Microsoft Entra Yes
Conjuntos de resultados activos múltiples (MARS) Sí en la pyodbc ruta. El backend habilita MARS cuando el alias utiliza un controlador ODBC de Microsoft en Windows. La mssql-python ruta nunca habilita MARS y rechaza la palabra clave MARS_Connection.
Procedimientos almacenados Sí (a través de cursor.execute)
SNAPSHOT aislamiento Sí (requiere la configuración de nivel de base de datos)
Enrutamiento de solo lectura Yes

Requisitos de dependencia

El mssql-django paquete instala automáticamente las siguientes dependencias:

Dependencia propósito Versión requerida
Django Marco web >=5.2,<6.2
pyodbc Controlador de base de datos ODBC por defecto para Python >=3.0
mssql-python Controlador de base de datos Python. Instalado incondicionalmente y usado solo cuando un alias opta por participar. >=1.15.0
tzdata Base de datos de zonas horarias IANA para el módulo estándar de biblioteca zoneinfo , utilizada donde el sistema operativo no lo suministra Any

La pyodbc ruta también requiere el controlador Microsoft ODBC para SQL Server en el sistema anfitrión. La mssql-python ruta no tiene una instalación separada de controladores ODBC. Para obtener más información, consulte Instalación de mssql-django.

Política de versiones y cambios que rompen la compatibilidad

  • Versiones principales (2.0): Puede cambiar el Python, Django, SQL Server y la matriz de plataforma compatibles, y puede añadir o eliminar dependencias. Los cambios recientes solo aparecen en una versión mayor.
  • Versiones secundarias (1.6, 1.7): incluya nueva compatibilidad con la versión de Django, nuevas características y correcciones de errores. Mantener la compatibilidad con versiones anteriores.
  • Versiones de parche (1.7.1, 1.7.2, 1.7.3, 1.7.4): Incluyen solo correcciones de errores.

El equipo documenta los cambios que rompen la compatibilidad en las notas de la versión. Consulte Novedades de mssql-django para obtener notas específicas de la versión.

Cómo mantenerse al día

El backend mssql-django lanza nuevas versiones para seguir el ritmo de los lanzamientos de Django. Compruebe si hay actualizaciones al actualizar Django.

Comprobación de la versión instalada

Compruebe qué versión está instalada actualmente:

pip show mssql-django

Actualización a la versión más reciente

Actualice a la versión más reciente:

pip install --upgrade mssql-django

Suscribirse a actualizaciones

Obtener soporte técnico

Microsoft ofrece soporte para mssql-django a través de GitHub y de los canales de la comunidad.

Problemas de GitHub

Informe de errores y características de solicitud en GitHub:

Cuando informes de un problema, incluye tu versión de Django, versión de Python, versión de SQL Server, el controlador de base de datos de Python y su versión, y una reproducción mínima del problema.

Contribute

Las contribuciones de la comunidad son bienvenidas. Para obtener más información sobre el contrato de licencia de colaborador (CLA) y el proceso de envío, consulte la guía de contribución.

Comunidad