Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Django veritabanı arka ucu her sürümündeki mssql-django yeni özellikler, iyileştirmeler ve değişiklikler açıklanmaktadır.
Sürüm 1.7.4
Çıkış tarihi: Temmuz 2026
Sürüm 1.7.4, ham ve açıklamalı GROUP BY sorgu işleme için iki düzeltme içeren geriye dönük uyumlu bir yama sürümüdür.
Hata düzeltmeleri
-
IndexErrorescape edilmiş%%ve gerçek parametreler içerenGROUP BYsorgularında: Daha önce,GROUP BYyan tümcesi içeren herhangi bir sorgu,%\w+ile eşleşip bunu{}ile değiştiren bir yer tutucuları yeniden yazma adımından geçiyordu. Bu regex ayrıca kaçışlı%%değişmezlerini de eşleştiriyordu; bu da sahte yer tutucular ekliyor ve bir sorgu%%kaçışı ile gerçek bir%sparametresini birleştirdiğindeIndexError: Replacement index N out of rangehatasına yol açıyordu. Daraltılmış regex artık yalnızca%%'a (aynen korunur) ve%s'e (gerçek yer tutucu) dokunur; derleyicinin ürettiği tek desen de budur. Aynı düzeltme, ayrıca parametresiz bir sorgudaLIKE '%abc%'gibi kaçırılmamış bir deseninLIKE '{}%'olarak yeniden yazılmasına ve yanlış satırların döndürülmesine yol açan, bununla ilgisiz sessiz bir hatayı da önler. -
Ham
GROUP BYsorgularındaIntegerChoicesiçinNotImplementedError: Daha önce,GROUP BYyan tümcesi içeren bir ham sorguyaIntegerChoicesdeğeri geçirilmesiNotImplementedError: Not supported type <enum ...>hatasına neden oluyordu. Parametre tipleme yardımcısı tam tip kontrolleri (typ == int), kullandı vetype(IntegerChoices_value)enum sınıfı değilint, bu yüzden değer alt sınıflaraintsahip olmasına rağmen artışa geçti. Tür denetimleri artıkisinstancekullanır vebooldalı,intdalından önce değerlendirilir (çünkübool, kendisi birintalt sınıfıdır). Enum seçimleri artık doğru şekilde bağlanıyor,boolhalaBITbağlıyor ve sadeintise değişmiyor.
Sürüm 1.7.3
Yayın tarihi: Haziran 2026
Sürüm 1.7.3, iki bağlantı ve çalışma zamanı düzeltmesi içeren geriye dönük uyumlu bir yama sürümüdür.
Hata düzeltmeleri
-
FA001dışındakiAuthentication=modları içinActiveDirectoryMsi: Daha önce, arka uçTrusted_Connection=yesöğesini yalnızcaActiveDirectoryMsiiçin atlıyordu.USERdeğeri sağlamayan diğer Entra modları (örneğin,ActiveDirectoryIntegrated,ActiveDirectoryDefault,ActiveDirectoryDeviceFlow) yine de ODBC sürücüsününTrusted_Connection=yes(FA001) ile reddettiğiCannot use Authentication option with Integrated Security optiondeğerini aldı. Düzeltme, sınırları gözeten ve büyük/küçük harf duyarsız bir eşleşmeyle açıkça belirtilmiş herhangi birAuthentication=değerini algılar ve hemTrusted_Connectionhem deIntegrated Security=SSPIdeğerlerini atlar. Parola işleme değişmemiştir:SqlPassword,ActiveDirectoryPasswordveActiveDirectoryServicePrincipal,PWDgöndermeye devam ederkenActiveDirectoryInteractivebunu göndermemeye devam eder. -
KeyErroralt sınıflardaDatabaseWrapper: Önbelleğe alınansql_server_versionveto_azure_sql_dbözellikleri, birtype(self).__dict__alt sınıfıncached_propertybunlara ilk kez eriştiğinde (1.7.1'de ortaya çıkan bir regresyon) yükseltenKeyErrorgirişine dayanırDatabaseWrapper. Düzeltme,_known_versionsüzerinden erişilen açık sınıf düzeyi sözlükleri (_known_azures,self.) kullanır; böylece arama MRO üzerinden çözümlenir ve alt sınıftan türetilmiş sarmalayıcılar doğru şekilde çalışır.
Sürüm 1.7.2
Yayın tarihi: Mayıs 2026
Sürüm 1.7.2, saat dilimi ve uyumluluk düzeltmeleriyle geriye dönük uyumlu bir yama sürümüdür.
Hata düzeltmeleri
-
.explain()Django 4.0 ve üzeri için uyumluluk: Artık Django 4.0 ve üzeri sürümlerde.explain()başarısız olmaması için Django'nun açıklama meta verilerininAttributeErrorderleyici tarafından işlenmesi düzeltildi. Arka uç artık sürüme uygun açıklama alanlarını izler ve gerektiğinde doğru şekilde yükseltirNotSupportedError. - datetimeoffset saat dilimi işleme: datetimeoffset ayrıştırması, saat dilimi ofsetleri yok sayılmak yerine korunacak şekilde düzeltildi. Döndürülen tarih-saat değerleri artık gerektiğinde zaman dilimi bilgisine sahiptir.
-
Now()ileUSE_TZ=True: Saat dilimi desteği etkinleştirildiğinde saat dilimi farkındalığına sahip davranışı kullanacak şekildeNow()için SQL oluşturma güncellendi; böylece UTC dışındaki SQL Server konaklarında zaman damgası kayması önlenir.
Sürüm 1.7.1
Yayın tarihi: Nisan 2026
Sürüm 1.7.1, hata düzeltmelerine sahip geriye dönük uyumlu bir yama sürümüdür.
Hata düzeltmeleri
-
FieldDoesNotExistazalan dizin sıralamasına sahip alanlar değiştirilirken: Dizin alan adları çözümlenirken,_alter_field()içindekischema.py,index.fields_ordersyerineindex.fieldskullanacak şekilde düzeltildi. Önceki kod, sıralama içeren ham alan dizelerini (örneğin,"-pub_date")model._meta.get_field()öğesine geçiriyordu; bu daFieldDoesNotExisthatasına neden oluyordu. Artık yalnızca alan adı çıkarılır ve sıralama eki doğru şekilde göz ardı edilir. -
Microsoft Fabric desteğindeki SQL veritabanı (EngineEdition 12): Azure sürümü olarak Fabric'de (
EngineEdition=12) tanınan SQL veritabanı. Daha önce Fabric'in motor sürümü tanınmıyordu; bu dato_azure_sql_dböğesininFalsedöndürmesine ve özellik geçidi kontrollerinin başarısız olmasına neden oluyordu. Düzeltme,EDITION_AZURE_SQL_FABRIC=12öğesine_AZURE_EDITIONSekler ve Fabric’i desteklenen en son SQL Server sürümüyle eşler.JSONField, karma fonksiyonları, harmanlama incelemesi ve test veritabanının kaldırılması artık Fabric'te düzgün şekilde çalışıyor.
Sürüm 1.7
Sürüm tarihi: Mart 2026
Öne Çıkanlar
- Django 6.0 desteği: 3.12 veya üzeri Python gerektiren Django 6.0 ile tam uyumluluk. Tüm 6.0 API değişiklikleri arka uç tarafından saydam bir şekilde işlenir.
-
Kısmi
CompositePrimaryKeydestek: Arka uç, Django 5.2CompositePrimaryKeyiçin kısmi destek ekler. Alt sorgulara karşı demet karşılaştırması Django 5.2.4 veya daha yeni bir sürüm gerektirir ve bazı bileşik anahtar veJSONFielduç durumları devam etmektedir. Django 5.2 ilk olarak mssql-django 1.6'da desteklendi. - SQL Server 2025 desteği: SQL Server 2025'e karşı doğrulandı.
- ODBC Sürücüsü 18 varsayılanı: Arka uç artık SQL Server için ODBC Sürücüsü 18 olarak varsayılandır ve sürüm 18 yüklü değilse ODBC Sürücüsü 17'ye otomatik geri döner.
Sürüme özgü notlar
| Django sürümü | Notlar |
|---|---|
| Django 5.1 |
inspectdb bileşik birincil anahtarlarla tabloları inceleyebilir, ancak bunlar için tam model tanımları oluşturmaz. |
| Django 5.2 |
CompositePrimaryKey desteği kısmidir. Alt sorgulara karşı demet karşılaştırması için Django 5.2.4 veya daha yenisi gerekir ve bazı geçiş ile JSONField uç durumları hâlâ mevcuttur. |
| Django 6.0 | 3.12 veya sonraki Python gerektirir. Tüm 5.2 sınırlamaları geçerlidir. |
Sürüm 1.6
Sürüm tarihi: Ağustos 2025
- Django 5.1 ve 5.2 desteği eklendi.
- Gelişmiş JSON işlevselliği ve geriye dönük uyumluluk.
- geliştirilmiş işlem hattı altyapısı.
Sürüm 1.5
Yayın tarihi: Nisan 2024
-
supports_commentsiçindb_commentsözellik bayrağı eklendi. -
AutoField, parametre biçimlendirmesi ve şema sorguları için hata düzeltmeleri.
Sürüm 1.4
Yayın tarihi: Ocak 2024
- Django 5.0 desteği eklendi.
-
db_commentdesteği eklendi. - Tarih/saat dönüştürmeleri ve boş toplamlar için hata düzeltmeleri.
Sürüm 1.3
Yayın tarihi: Mayıs 2023
- Django 4.2 desteği eklendi.
- Büyük/küçük harfe duyarlı
Replaceişlev desteği eklendi. -
OFFSETişlemesi ve sola doldurma ile ilgili hata düzeltmeleri.
Sürüm 1.2
Yayın tarihi: Aralık 2022
- Django 4.1 desteği eklendi.
-
datetimeoffset
USE_TZ=Trueile saat dilimi desteği eklendi. - Toplu ekleme kimliği alma için
return_rows_bulk_insertseçeneği eklendi. - SQL Server 2022 desteği eklendi.
- Azure SQL Yönetilen Örneği desteği eklendi
JSONField.
Sürüm 1.1
Yayın tarihi: Temmuz 2022
- Django 3.2 ve 4.0 desteği.
- SQL Server 2016 ve üzeri ve Azure SQL Veritabanı desteği.
-
pyodbctabanlı bağlantı.