Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk a Django-adatbázis háttérrendszerének mssql-django minden verziójában új funkciókat, fejlesztéseket és módosításokat ismertet.
Verzió 1.7.4
Megjelenési dátum: 2026. július
Az 1.7.4-es verzió egy visszafelé kompatibilis patch kiadás, amely két javítást tartalmaz a nyers és annotált GROUP BY lekérdezéskezeléshez.
Hibajavítások
-
IndexErrora(z)GROUP BYlekérdezéseken escape-elt%%és valódi paraméterekkel: Korábban mindenGROUP BYzáradékot tartalmazó lekérdezés áthaladt egy helyőrző-átírási lépésen, amely illesztette a(z)%\w+elemet, és lecserélte{}értékre. Ez a regex az escape-elt%%literálokra is egyezést adott, ami fantom helyőrzőket szúrt be, és kiváltotta aIndexError: Replacement index N out of range-t, amikor egy lekérdezés egy%%-escape-et valódi%sparaméterrel kombinált. A szűkített regex most már csak a%%elemet (változatlanul megőrizve) és a%selemet (a valódi helyőrzőt) érinti, és ez az egyetlen minta, amelyet a fordítóprogram valaha generál. Ugyanez a javítás egy másik, nem kapcsolódó csendes hiba előfordulását is megakadályozza, amelyben egy nem escape-elt minta, például a(z)LIKE '%abc%', egy paraméter nélküli lekérdezésbenLIKE '{}%'alakra íródott át, és emiatt a rendszer hibás sorokat adott vissza. -
NotImplementedErrorforIntegerChoicesnyersGROUP BYlekérdezésekben: Korábban egyIntegerChoicesérték átadása egy olyan nyers lekérdezésnek, amelyGROUP BYzáradékot tartalmazott,NotImplementedError: Not supported type <enum ...>eredményezett. A paramétertípus segítő pontos típusellenőrzéseket használt (typ == int), éstype(IntegerChoices_value)az enum osztály, nemintpedig , így az érték átesett az emeléshez, még akkor is, ha alosztályokat tartalmazint. A típusellenőrzések most már a(z)isinstanceelemet használják, és a(z)boolág kiértékelése a(z)intág előtt történik (mivel a(z)boolmaga is a(z)intalosztálya). Az enumerált értékek most helyesen társulnak, a(z)booltovábbra is a(z)BIT-hez társul, az egyszerűintpedig változatlan marad.
1.7.3-es verzió
Kiadás dátuma: 2026. június
Az 1.7.3-s verzió egy visszamenőlegesen kompatibilis javítás, két kapcsolattal és futtatókörnyezeti javítással.
Hibajavítások
-
FA001-től eltérőAuthentication=módok esetén a(z)ActiveDirectoryMsi: Korábban a háttérrendszer csakTrusted_Connection=yesesetén hagyta ki a(z)ActiveDirectoryMsielemet. Az egyéb Entra-módok, amelyek nem adnak megUSERértéket (példáulActiveDirectoryIntegrated,ActiveDirectoryDefault,ActiveDirectoryDeviceFlow), továbbra is megkapták a(z)Trusted_Connection=yesértéket, amelyet az ODBC-illesztőprogramFA001hibaüzenettel utasított el (Cannot use Authentication option with Integrated Security option). A javítás minden explicitAuthentication=értéket észlel egy határokat figyelembe vevő, a kis- és nagybetűket nem megkülönböztető egyezéssel, és kihagyja mind aTrusted_Connection-, mind aIntegrated Security=SSPI-értéket. A jelszókezelés nem változik:SqlPassword,ActiveDirectoryPasswordésActiveDirectoryServicePrincipaltovábbra is elküldiPWD, miközbenActiveDirectoryInteractivetovábbra is kihagyja. -
KeyErrorleszármaztatottDatabaseWrapperesetén: A gyorsítótárazottsql_server_versionésto_azure_sql_dbtulajdonságok atype(self).__dict__cached_propertyintrospekciójára támaszkodtak, amiKeyErrorváltott ki, amikor egyDatabaseWrapper-leszármazott először hozzáfért ezekhez (az 1.7.1-ben bevezetett regresszió). A javítás explicit osztályszintű diktálásokat (_known_versions, )_known_azureshasznál,self.így a keresés az MRO-n keresztül oldható fel, és az alosztályozott burkolók megfelelően működnek.
1.7.2-es verzió
Kiadás dátuma: 2026. május
Az 1.7.2-es verzió egy visszafelé kompatibilis javítókiadás, amely időzóna- és kompatibilitási javításokat tartalmaz.
Hibajavítások
-
.explain()Kompatibilitás a Django 4.0-val és újabb verziókkal: Kijavítottuk a Django explain metaadatainak fordítókezelését, így.explain()a Django 4.0-val és újabb verziókkal már nem adAttributeErrorhibát. A háttérrendszer mostantól a verziónak megfelelő explain mezőket használja, és szükség esetén megfelelően dobja a(z)NotSupportedError-t. - datetimeoffset időzóna kezelése: Rögzített datetimeoffset-elemzés , így az időzóna-eltolások az elvetés helyett megmaradnak. A visszaadott dátum- és időértékek mostantól időzóna-információt is tartalmaznak, ahol ez elvárt.
-
Now()withUSE_TZ=True: Frissítettük a(z)Now()SQL-generálását, hogy időzóna-kezelést figyelembe vevő működést használjon, ha az időzóna-támogatás engedélyezve van, megelőzve ezzel az időbélyeg-eltolódást a nem UTC időzónára beállított SQL Server-gazdagépeken.
1.7.1-es verzió
Kiadás dátuma: 2026. április
Az 1.7.1-es verzió egy visszamenőlegesen kompatibilis javítás, hibajavításokkal.
Hibajavítások
-
FieldDoesNotExistcsökkenő indexsorrendű mezők módosításakor: Javítva: a(z)_alter_field()alattischema.pymostantólindex.fields_orders-et használindex.fieldshelyett az indexmezőnevek feloldásakor. Az előző kód nyers, rendezést tartalmazó mezőkarakterláncokat (például"-pub_date") adott át a(z)model._meta.get_field()elemnek, amiFieldDoesNotExistkivételt váltott ki. Most már csak a mezőnév lesz kinyerve, és a rendezési utótagot megfelelően elveti a rendszer. -
SQL-adatbázis támogatása a Microsoft Fabricben (EngineEdition 12): Azure-kiadásként ismerte fel a Fabricben található SQL-adatbázist (
EngineEdition=12). Korábban a Fabric motorváltozata nem volt felismerhető, ami miatt ato_azure_sql_dbaFalseértéket adta vissza, és a feature gate ellenőrzések meghiúsultak. A javítás hozzáadja a(z)EDITION_AZURE_SQL_FABRIC=12elemet a(z)_AZURE_EDITIONSelemhez, és a Fabricet a legújabb támogatott SQL Server-verzióhoz rendeli.JSONField, a hash függvények, a rendezési beállítások introspekciója és a tesztadatbázis lebontása most már megfelelően működik a Fabricön.
1.7-es verzió
Kiadás dátuma: 2026. március
Legfontosabb tudnivalók
- Django 6.0-támogatás: Teljes kompatibilitás a Django 6.0-val, amelyhez Python 3.12 vagy újabb verzióra van szükség. A 6.0 API-módosításokat a háttérrendszer transzparensen kezeli.
-
Részleges
CompositePrimaryKeytámogatás: A háttérrendszer részleges támogatást ad a Django 5.2-hezCompositePrimaryKey. A tuple-ök albekérdezésekkel való összehasonlításához Django 5.2.4 vagy újabb verzió szükséges, és néhány összetett kulccsal kapcsolatos, valamintJSONFieldperemhelyzet továbbra is fennáll. Maga a Django 5.2 először az mssql-django 1.6-os verzióban támogatott. - SQL Server 2025 támogatása: Validálva az SQL Server 2025-tel.
- ODBC Driver 18 alapértelmezett: A háttérrendszer mostantól az ODBC Driver 18 for SQL Server, és automatikusan visszavált az ODBC Driver 17-es verziójára, ha a 18-es verzió nincs telepítve.
Verzióspecifikus megjegyzések
| Django verziója | Jegyzetek |
|---|---|
| Django 5.1 |
inspectdb képes összetett elsődleges kulcsokkal megvizsgálni a táblákat, de nem hoz létre teljes modelldefiníciókat hozzájuk. |
| Django 5.2 |
CompositePrimaryKey támogatás részleges. A tuple-ök albekérdezésekkel való összehasonlításához a Django 5.2.4-es vagy újabb verziója szükséges, és egyes migrációs, valamint JSONField szélső esetek továbbra is fennállnak. |
| Django 6.0 | A Python 3.12 vagy újabb verziót igényel. Az 5.2-ben érvényes korlátozások érvényesek. |
1.6-os verzió
Kiadás dátuma: 2025. augusztus
- Django 5.1 és 5.2 támogatás hozzáadva.
- Továbbfejlesztett JSON-funkciók és visszamenőleges kompatibilitás.
- Továbbfejlesztett folyamatinfrastruktúra.
1.5-ös verzió
Kiadás dátuma: 2024. április
- A(z)
supports_commentsfunkciókapcsoló hozzáadva ehhez:db_comments. - Hibajavítások a
AutoFieldparaméterformázáshoz és a séma-lekérdezésekhez.
1\.4-es verzió
Kiadás dátuma: 2024. január
- Django 5.0-támogatás hozzáadva.
-
db_commenttámogatása hozzáadva. - Hibajavítások a dátum-/időátalakításokhoz és az üres összesítésekhez.
1.3-es verzió
Kiadás dátuma: 2023. május
- Django 4.2-támogatás hozzáadva.
- Bekerült a kis- és nagybetűk megkülönböztetését támogató
Replacefüggvény támogatása. - Hibajavítások a(z)
OFFSETkezeléséhez és a bal oldali térközhöz.
1.2-es verzió
Kiadás dátuma: 2022. december
- Django 4.1-támogatás hozzáadva.
- Az időzóna támogatása hozzáadva (datetimeoffset with
USE_TZ=True). - Hozzáadva a(z)
return_rows_bulk_insertbeállítás a tömeges beszúrás azonosítójának lekéréséhez. - SQL Server 2022-támogatás hozzáadva.
- Hozzáadtuk az Azure SQL Managed Instance
JSONFieldtámogatását.
1.1-es verzió
Kiadás dátuma: 2022. július
- Django 3.2 és 4.0 támogatás.
- SQL Server 2016-os és újabb verzióit, és Azure SQL Database támogatást.
-
pyodbc-alapú kapcsolat.