Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden neue Features, Verbesserungen und Änderungen in jeder Version des mssql-django Django-Datenbank-Back-End beschrieben.
Version 1.7.3
Veröffentlichungsdatum: Juni 2026
Version 1.7.3 ist eine abwärtskompatible Patchversion mit zwei Verbindungs- und Laufzeitfixes.
Fehlerkorrekturen
-
FA001für andere Modi alsActiveDirectoryMsivonAuthentication=: Zuvor übersprang das BackendTrusted_Connection=yesnur fürActiveDirectoryMsi. Andere Entra-Modi, die keinenUSER-Wert bereitstellen (z. B.ActiveDirectoryIntegrated,ActiveDirectoryDefault,ActiveDirectoryDeviceFlow), erhielten dennochTrusted_Connection=yes, was der ODBC-Treiber mitFA001(Cannot use Authentication option with Integrated Security option) ablehnte. Die Korrektur erkennt jeden expliziten WertAuthentication=mittels eines abgrenzungssensitiven Abgleichs ohne Berücksichtigung der Groß-/Kleinschreibung und überspringt sowohlTrusted_Connectionals auchIntegrated Security=SSPI. Die Kennwortbehandlung bleibt unverändert:SqlPassword,ActiveDirectoryPasswordundActiveDirectoryServicePrincipalsendenPWDweiterhin, währendActiveDirectoryInteractivees weiterhin weglässt. -
KeyErrorbei Unterklassen vonDatabaseWrapper: Die zwischengespeicherten Eigenschaftensql_server_versionundto_azure_sql_dbbasierten auf dertype(self).__dict__-Introspektion voncached_property, wodurch beim ersten Zugriff einerDatabaseWrapper-Unterklasse daraufKeyErrorausgelöst wurde (eine in 1.7.1 eingeführte Regression). Der Fix verwendet explizite Dictionaries auf Klassenebene (_known_versions,_known_azures), auf die überself.zugegriffen wird, sodass die Auflösung über die MRO erfolgt und Wrapper von Unterklassen korrekt funktionieren.
Version 1.7.2
Veröffentlichungsdatum: Mai 2026
Version 1.7.2 ist eine abwärtskompatible Patchversion mit Zeitzonen- und Kompatibilitätsfixes.
Fehlerkorrekturen
-
.explain()Kompatibilität mit Django 4.0 und neuer: Die Compiler-Verarbeitung von Djangos Explain-Metadaten wurde korrigiert, sodass.explain()unter Django 4.0 und neuer nicht mehr mitAttributeErrorfehlschlägt. Das Back-End verwendet nun versionsgerechte Explain-Felder und löst bei Bedarf korrektNotSupportedErroraus. - datetimeoffset-Zeitzonenbehandlung: datetimeoffset-Parsing korrigiert, sodass Zeitzonen-Offsets beibehalten statt verworfen werden. Zurückgegebene Datums- und Zeitwerte enthalten jetzt Zeitzoneninformationen, wenn dies erwartet wird.
-
Now()mitUSE_TZ=True: SQL-Generierung fürNow()aktualisiert, damit bei aktivierter Zeitzonenunterstützung zeitzonenbewusstes Verhalten verwendet wird und Zeitstempelabweichungen auf Nicht-UTC-SQL Server-Hosts verhindert werden.
Version 1.7.1
Veröffentlichungsdatum: April 2026
Version 1.7.1 ist eine abwärtskompatible Patchversion mit Fehlerbehebungen.
Fehlerkorrekturen
-
FieldDoesNotExistbeim Ändern von Feldern mit absteigender Indexreihenfolge:_alter_field()inschema.pyso korrigiert, dass beim Auflösen von Index-Feldnamenindex.fields_ordersanstelle vonindex.fieldsverwendet wird. Der vorherige Code übergab unverarbeitete Zeichenfolgen für Felder mit Sortierung (zum Beispiel"-pub_date") anmodel._meta.get_field(), wasFieldDoesNotExistauslöste. Jetzt wird nur der Feldname extrahiert, und das Sortiersuffix wird korrekt entfernt. -
Unterstützung für SQL-Datenbanken in Microsoft Fabric (EngineEdition 12): SQL-Datenbanken in Fabric (
EngineEdition=12) als Azure-Edition erkannt. Zuvor wurde die Engine-Edition von Fabric nicht erkannt, was dazu führte, dassto_azure_sql_dbden WertFalsezurückgab und die Feature-Gate-Prüfungen fehlschlugen. Die Korrektur fügtEDITION_AZURE_SQL_FABRIC=12zu_AZURE_EDITIONShinzu und ordnet Fabric der neuesten unterstützten SQL Server-Version zu.JSONField, Hashfunktionen, Sortierungsintrospektion und der Abbau der Testdatenbank funktionieren jetzt auf Fabric ordnungsgemäß.
Version 1.7
Veröffentlichungsdatum: März 2026
Höhepunkte
- Django 6.0-Unterstützung: Vollständige Kompatibilität mit Django 6.0, die Python 3.12 oder höher erfordert. Alle 6.0-API-Änderungen werden transparent vom Back-End verarbeitet.
- Teilunterstützung: Das Back-End fügt partielle
CompositePrimaryKeyUnterstützung für Django 5.2CompositePrimaryKeyhinzu. Der Tupel-Vergleich mit Unterabfragen erfordert Django 5.2.4 oder neuer, und einige Randfälle bei Verbundschlüsseln undJSONFieldbestehen weiterhin. Django 5.2 selbst wurde zuerst in mssql-django 1.6 unterstützt. - SQL Server 2025-Unterstützung: Überprüft gegen SQL Server 2025.
- ODBC Driver 18 als Standard: Das Backend verwendet jetzt standardmäßig ODBC Driver 18 for SQL Server und greift automatisch auf ODBC Driver 17 zurück, wenn Version 18 nicht installiert ist.
Versionsspezifische Notizen
| Django-Version | Hinweise |
|---|---|
| Django 5.1 |
inspectdb Kann Tabellen mit zusammengesetzten Primärschlüsseln prüfen, generiert aber keine vollständigen Modelldefinitionen dafür. |
| Django 5.2 |
CompositePrimaryKey wird nur teilweise unterstützt. Tupelvergleiche mit Unterabfragen erfordern Django 5.2.4 oder neuer, und einige Randfälle bei Migrationen sowie mit JSONField bestehen weiterhin. |
| Django 6.0 | Erfordert Python 3.12 oder höher. Alle 5.2 Einschränkungen gelten. |
Version 1.6
Veröffentlichungsdatum: August 2025
- Django 5.1- und 5.2-Support hinzugefügt.
- Verbesserte JSON-Funktionalität und Abwärtskompatibilität.
- Verbesserte Pipelineinfrastruktur.
Version 1.5
Veröffentlichungsdatum: April 2024
- Featureflag
supports_commentsfürdb_commentshinzugefügt. - Fehlerbehebungen für
AutoField, Parameterformatierung und Schemaabfragen.
Version 1.4
Veröffentlichungsdatum: Januar 2024
- Django 5.0-Support hinzugefügt.
- Unterstützung für
db_commentwurde hinzugefügt. - Fehlerkorrekturen für Datums-/Uhrzeitkonvertierungen und leere Aggregate.
Version 1.3
Veröffentlichungsdatum: Mai 2023
- Django 4.2-Support hinzugefügt.
- Unterstützung für die Groß-/Kleinschreibung bei
Replace-Funktionen wurde hinzugefügt. - Fehlerbehebungen für die
OFFSETBehandlung und den linken Abstand.
Version 1.2
Veröffentlichungsdatum: Dezember 2022
- Django 4.1-Support hinzugefügt.
- Unterstützung für Zeitzonen hinzugefügt (datetimeoffset mit
USE_TZ=True). - Hinzugefügt
return_rows_bulk_insertOption zum Abrufen der Bulk-Insert-ID. - Unterstützung für SQL Server 2022 hinzugefügt.
- Unterstützung für Azure SQL Managed Instance hinzugefügt
JSONField.
Version 1.1
Veröffentlichungsdatum: Juli 2022
- Django 3.2- und 4.0-Support.
- SQL Server 2016 und höher und Azure SQL-Datenbank Support.
-
pyodbc-basierte Konnektivität.