Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
- Siga el repositorio de GitHub para recibir notificaciones de nuevas versiones.
- Compruebe PyPI para ver las nuevas versiones.
- Revise el registro de cambios de cada versión.
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
- Stack Overflow: etiqueta las preguntas con
djangoysql-server. - Documentación de Django
- Centro para desarrolladores de Python para Azure