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.
Das mssql-django Paket ist das offizielle Microsoft unterstützte Django-Datenbank-Back-End für SQL Server, Azure SQL-Datenbank, Azure SQL Managed Instance und SQL-Datenbank in Microsoft Fabric. Es wird aktiv auf GitHub gepflegt und über PyPI freigegeben. Auf dieser Seite werden Versionsverwaltung, Plattformkompatibilität und Supportrichtlinie behandelt.
Versionsunterstützung
Verwenden Sie immer die neueste Version, um neue Features, Leistungsverbesserungen und Sicherheitsupdates zu erhalten. Neue Funktionen werden nur zur aktuellen Version hinzugefügt.
Aktuelle Version
Version 2.0 ist die aktuelle allgemein verfügbare GA-Version.
Important
Version 2.0 benötigt mssql-python 1.15.0 oder neuer, selbst wenn ein Datenbankalias verwendet pyodbc. Das Paket wird nur auf Plattformen installiert, die eine kompatible mssql-python Distribution haben. Projekte auf anderen Plattformen bleiben auf Version 1.8.0.
Definitionen des Supportstatus
Verwenden Sie diese Statuswerte in der Versionstabelle:
| Status | Bedeutung |
|---|---|
| Aktuell | Empfängt neue Features, Fehlerbehebungen und Sicherheitsupdates. |
| Zurück | Historische Version. Bleibt verfügbar, erhält aber keine Updates. |
Versionsverlauf
| Version | Erscheinungsdatum | Status | Django-Versionen | Wichtigste Funktionen |
|---|---|---|---|---|
| 2.0 | September 2026 | Aktuell | 5.2 - 6.1 | Opt-in-mssql-pythonTreiber, Python 3.10–3.14, zoneinfo ersetzt pytz, MARS und inspectdb Fehlerbehebungen |
| 1.8.0 | August 2026 | Previous | 3.2 - 6.1 | Django 6.1-Unterstützung, quote_name Änderung des Abfragecompilators, Fremdschlüssel-Introspektion gibt die ON-Regel DELETE zurück |
| 1.7.4 | Juli 2026 | Previous | 3.2 - 6.0 |
GROUP BY Korrekturen für maskierte %%-Literale mit echten Parametern und für IntegerChoices-Parameter in Rohabfragen |
| 1.7.3 | Juni 2026 | Previous | 3.2 - 6.0 |
FA001-Fix für Authentication=-Modi außer ActiveDirectoryMsi, Unterklassen DatabaseWrapperKeyError korrigiert (Regression gegenüber 1.7.1) |
| 1.7.2 | Mai 2026 | Previous | 3.2 - 6.0 |
Datetimeoffset-Zeitzonenkorrektur , Now() Zeitzonenkorrektur, .explain() Kompatibilitätskorrektur |
| 1.7.1 | April 2026 | Previous | 3.2 - 6.0 | SQL-Datenbank in Fabric Fix, absteigender Index AlterField Fix |
| 1.7 | März 2026 | Previous | 3.2 - 6.0 | Django 6.0-Unterstützung, ODBC-Treiber 18-Standard, SQL Server 2025-Unterstützung |
| 1.6 | August 2025 | Previous | 3.2 - 5.2 | Django 5.1- und 5.2-Unterstützung, erweiterte JSON-Funktionalität |
| 1.5 | April 2024 | Previous | 3.2 - 5.0 |
supports_comments-Flag, AutoField-Fixes |
| 1.4 | Januar 2024 | Previous | 3.2 - 5.0 | Django-5.0-Unterstützung, db_comment-Unterstützung |
| 1.3 | Mai 2023 | Previous | 3.2 - 4.2 | Django 4.2-Unterstützung, Groß-/Kleinschreibung beachten Replace |
| 1.2 | Dezember 2022 | Previous | 3.2 - 4.1 | Django 4.1-Support, Zeitzonenunterstützung, JSONField auf Azure SQL Managed Instance |
| 1.1 | Juli 2022 | Previous | 3.2 - 4.0 | Erste Version mit Django 3.2- und 4.0-Support |
Versionen vor 1.1 waren Vorabversion und werden nicht aufgeführt.
Important
Fixes und neue Features werden nur in neuen Versionen ausgeliefert. Ältere Versionen bleiben auf PyPI verfügbar, werden jedoch nicht gepatcht. Um Fehlerkorrekturen oder Sicherheitsupdates zu erhalten, führen Sie ein Upgrade auf die neueste Version durch.
Detaillierte Versionshinweise finden Sie unter What's new in mssql-django.
Django und Python Versionskompatibilität
Jede Django-Version unterstützt bestimmte Python Versionen.
mssql-django 2.0 testet folgende Kombinationen:
| Django-Version | Python-Versionen |
|---|---|
| 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 bis 5.1 sowie Python 3.8 und 3.9 haben das Ende des Supports erreicht und sind nicht getestet. Projekte auf diesen Versionen bleiben auf mssql-django Version 1.8.0.
Important
Verwenden Sie immer eine unterstützte Python Version. Ältere Python Versionen erhalten keine Sicherheitsupdates.
SQL Server- und Azure SQL-Kompatibilität
mssql-django2.0 unterstützt jede unterstützte Version von Microsoft SQL. Eine neuere SQL Server-Hauptversion, die das Backend nicht erkennt, verbindet sich unter Verwendung des neuesten dem Backend bekannten Funktionsumfangs, anstatt an der Versionsvalidierung zu scheitern.
| Produkt oder Dienst | Status der Unterstützung |
|---|---|
| SQL Server | Vollständig unterstützt |
| SQL Server auf Azure-VMs | Vollständig unterstützt |
| Azure SQL-Datenbank | Vollständig unterstützt |
| Verwaltete Azure SQL-Instanz | Vollständig unterstützt |
| SQL-Datenbank in Fabric | Vollständig unterstützt |
| Microsoft Fabric Warehouse | Nur Verbindungen. Im Pfad pyodbc setzen Sie MARS_Connection=no in extra_params. Django-Migrationen und andere SQL Server-Funktionen werden nicht unterstützt. |
| Azure Synapse Analytics | Nur Verbindungen. Django-Migrationen und andere SQL Server-Funktionen werden nicht unterstützt. |
Datenbanktreiber-Kompatibilität
mssql-django2.0 verbindet sich über einen von zwei Python-Datenbanktreibern, die für jedes Datenbankalias ausgewählt sind. Weitere Informationen finden Sie unter Select the database driver for mssql-django.
| Python-Treiber | Status der Unterstützung | Connectivity |
|---|---|---|
pyodbc |
Vollständig unterstützt (Standard) | Microsoft ODBC Treiber 17 oder 18 für SQL Server, separat installiert |
mssql-python |
Vollständig unterstützt (Anmeldung mit der Option python_driver ) |
Eingebaut, ohne separate Installation |
ODBC-Treiberkompatibilität
Auf dem pyodbc Pfad setzt das Backend standardmäßig auf ODBC Driver 18 für SQL Server zurück und fällt automatisch auf ODBC Driver 17 zurück, wenn Version 18 nicht installiert ist. Überschreiben Sie die Standardfunktion mit der driver Option in Ihrer Datenbankkonfiguration. Für einen expliziten Wert erfolgt kein Fallback.
| ODBC-Treiber | Status der Unterstützung |
|---|---|
| Microsoft ODBC-Treiber 18 für SQL Server | Vollständig unterstützt (Standard) |
| Microsoft ODBC-Treiber 17 für SQL Server | Vollständig unterstützt (Fallback) |
| FreeTDS ODBC-Treiber | Unterstützt auf dem pyodbc Pfad |
Der Weg mssql-python ignoriert die driver Option.
Installationsanweisungen finden Sie unter "ODBC-Treiber herunterladen" für SQL Server.
Betriebssystemkompatibilität
mssql-django 2.0 erfordert mssql-python, sodass das Paket nur dort installiert wird, wo eine kompatible mssql-python Distribution existiert. Diese Anforderung gilt selbst dann, wenn jeder Datenbankalias pyodbc verwendet.
| Betriebssystem | Aufbau | Status der Unterstützung |
|---|---|---|
| Windows 11, Windows Server 2019, 2022 und 2025 | x64 | Unterstützt |
| Windows 11, Windows Server 2022 und 2025 | ARM64 | Unterstützt mit Python 3.11 und neueren Versionen |
| macOS 15 und neuere Versionen | Intel, Apple Silicon | Unterstützt |
| Linux mit glibc 2.28 oder neuer, wie Ubuntu 22.04 und 24.04, Debian 11 und 12 sowie Red Hat Enterprise Linux 8 und 9 | x64, ARM64 | Unterstützt |
| Linux mit musl 1.2 oder neuer, wie Alpine Linux | x64, ARM64 | Unterstützt |
| SUSE Linux Enterprise Server | ARM64 | Nicht unterstützt |
Projekte auf einer nicht unterstützten Plattform bleiben auf mssql-django 1.8.0, für die mssql-python nicht erforderlich ist.
Installieren Sie auf dem pyodbc Weg den Microsoft ODBC-Treiber für SQL Server separat. Die Installationsschritte variieren je nach Betriebssystem. Siehe Installieren von mssql-django für plattformspezifisches Setup.
Kompatibilität von Funktionen
In den folgenden Tabellen sind Django und SQL Server Features und deren Supportstatus im mssql-django Back-End aufgeführt. Weitere Informationen zu nicht unterstützten Features finden Sie unter Einschränkungen und nicht unterstützte Features in mssql-django.
Funktionen des Django-ORM
| Merkmal | mssql-django-Unterstützung |
|---|---|
| Migrations | Yes |
QuerySet-API |
Yes |
JSONField |
Yes |
bulk_create / bulk_update |
Yes |
| Datenbanktransaktionen | Yes |
inspectdb mit --schema |
Yes |
DISTINCT ON |
No |
__regex
/
__iregex Abfragen |
Teilweise (erfordert die Einrichtung einer CLR-Assembly; in Azure SQL-Datenbank nicht verfügbar) |
SmallAutoField |
Yes |
select_for_update() |
Ja (NOWAIT und SKIP_LOCKED; of nicht unterstützt) |
| Fensterfunktionen | Yes |
GeneratedField (berechnete Spalten) |
Ja (Django 5.0 und höher) |
CompositePrimaryKey |
Teilweise (Django 5.2 und höher; siehe Einschränkungen) |
db_comment |
Ja (Django 4.2 und höher) |
Überdeckende Indizes (include) |
Ja (Django 4.2 und höher) |
NthValue |
No |
SQL Server Funktionen
| Merkmal | mssql-django-Unterstützung |
|---|---|
| Verschlüsselte Verbindungen (TLS) | Yes |
| Immer Verschlüsselt | Yes |
| Microsoft Entra-Authentifizierung | Yes |
| MARS (Multiple Active Result Sets, mehrere aktive Resultsets) | Ja, auf dem Pfad pyodbc. Das Backend aktiviert MARS, wenn der Alias einen Microsoft-ODBC-Treiber unter Windows verwendet. Der Pfad mssql-python aktiviert MARS niemals und lehnt das MARS_Connection Schlüsselwort ab. |
| Gespeicherte Prozeduren | Ja (via cursor.execute) |
SNAPSHOT Isolation |
Ja (erfordert Konfiguration auf Datenbankebene) |
| Schreibgeschütztes Routing | Yes |
Anforderungen an Abhängigkeiten
Das mssql-django Paket installiert automatisch die folgenden Abhängigkeiten:
| Abhängigkeit | Purpose | Erforderliche Version |
|---|---|---|
| Django | Webframework | >=5.2,<6.2 |
pyodbc |
Standard-ODBC-Datenbanktreiber für Python | >=3.0 |
mssql-python |
Python-Datenbanktreiber. Wird bedingungslos installiert und wird nur verwendet, wenn ein Alias zustimmt. | >=1.15.0 |
tzdata |
IANA-Zeitzonendatenbank für das Standardbibliotheksmodul zoneinfo , die verwendet wird, wenn das Betriebssystem keine solche bereitstellt |
Any |
Der Pfad pyodbc benötigt außerdem den Microsoft ODBC-Treiber für SQL Server auf dem Host-System. Der Pfad mssql-python hat keine separate ODBC-Treiberinstallation. Weitere Informationen finden Sie unter Installieren von mssql-django.
Richtlinie für Versionsverwaltung und Unterbrechung von Änderungen
- Hauptversionen (2.0): Kann die unterstützte Python-, Django-, SQL Server- und Plattformmatrix ändern und Abhängigkeiten hinzufügen oder entfernen. Brechende Änderungen treten nur in einer Hauptversion auf.
- Nebenversionen (1.6, 1.7): Fügen Sie neue Django-Versionsunterstützung, neue Features und Fehlerbehebungen ein. Beibehalten der Abwärtskompatibilität.
- Patch-Versionen (1.7.1, 1.7.2, 1.7.3, 1.7.4): Enthalten nur Fehlerbehebungen.
Das Team dokumentiert die Änderungen in den Versionshinweisen. Schauen Sie sich die Neuerungen in mssql-django für versionsspezifische Notizen an.
So bleiben Sie auf dem neuesten Stand
Das mssql-django Backend stellt neue Versionen bereit, um mit den Django-Releases Schritt zu halten. Überprüfen Sie beim Upgrade von Django auf Updates.
Überprüfen der installierten Version
Überprüfen Sie, welche Version derzeit installiert ist:
pip show mssql-django
Upgrade auf die neueste Version
Aktualisieren Sie auf die neueste Version:
pip install --upgrade mssql-django
Abonnieren von Updates
- Sehen Sie sich das GitHub Repository für Versionsbenachrichtigungen an.
- Überprüfen Sie PyPI auf neue Versionen.
- Überprüfen Sie das Änderungsprotokoll für jede Veröffentlichung.
Unterstützung erhalten
Microsoft unterstützt mssql-django über GitHub und Community-Kanäle.
GitHub-Probleme
Melden von Fehlern und Anfordern von Features für GitHub:
Wenn du ein Problem meldest, gib deine Django-Version, Python-Version, SQL Server-Version, den Python-Datenbanktreiber und deren Version sowie eine minimale Reproduktion des Problems an.
Contribute
Gemeinschaftsbeiträge sind willkommen. Weitere Informationen zum Lizenzvertrag für Mitwirkende (Contributor License Agreement, CLA) und zum Einreichungsprozess finden Sie im Leitfaden für Mitwirkende.
Community
- Stack Overflow: Kategorisieren von Fragen mit
djangoundsql-server. - Django-Dokumentation
- Azure Python Entwicklerzentrum