mssql-django'daki yenilikler

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.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

  • ActiveDirectoryMsi dışındaki Authentication= modları için FA001: Daha önce, arka uç Trusted_Connection=yes öğesini yalnızca ActiveDirectoryMsi için atlıyordu. USER değeri sağlamayan diğer Entra modları (örneğin, ActiveDirectoryIntegrated, ActiveDirectoryDefault, ActiveDirectoryDeviceFlow) yine de ODBC sürücüsünün FA001 (Cannot use Authentication option with Integrated Security option) ile reddettiği Trusted_Connection=yes değ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 bir Authentication= değerini algılar ve hem Trusted_Connection hem de Integrated Security=SSPI değerlerini atlar. Parola işleme değişmemiştir: SqlPassword, ActiveDirectoryPassword ve ActiveDirectoryServicePrincipal, PWD göndermeye devam ederken ActiveDirectoryInteractive bunu göndermemeye devam eder.
  • KeyError alt sınıflardaDatabaseWrapper: Önbelleğe alınan sql_server_version ve to_azure_sql_db özellikleri, bir type(self).__dict__ alt sınıfın cached_propertybunlara ilk kez eriştiğinde (1.7.1'de ortaya çıkan bir regresyon) yükselten KeyError girişine dayanırDatabaseWrapper. Düzeltme, self. üzerinden erişilen açık sınıf düzeyi sözlükleri (_known_versions, _known_azures) 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 verilerinin AttributeError derleyici 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ükseltir NotSupportedError .
  • 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() ile USE_TZ=True: Saat dilimi desteği etkinleştirildiğinde saat dilimi farkındalığına sahip davranışı kullanacak şekilde Now() 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

  • FieldDoesNotExist azalan dizin sıralamasına sahip alanlar değiştirilirken: Dizin alan adları çözümlenirken, schema.py içindeki _alter_field(), index.fields yerine index.fields_orders kullanacak şekilde düzeltildi. Önceki kod, sıralama içeren ham alan dizelerini (örneğin, "-pub_date") model._meta.get_field() öğesine geçiriyordu; bu da FieldDoesNotExist hatası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 da to_azure_sql_db öğesinin False döndürmesine ve özellik geçidi kontrollerinin başarısız olmasına neden oluyordu. Düzeltme, _AZURE_EDITIONS öğesine EDITION_AZURE_SQL_FABRIC=12 ekler 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 CompositePrimaryKey destek: Arka uç, Django 5.2 CompositePrimaryKeyiç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 ve JSONField uç 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

  • db_comments için supports_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_comment desteğ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ı Replace işlev desteği eklendi.
  • OFFSET iş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.
  • datetimeoffsetUSE_TZ=True ile saat dilimi desteği eklendi.
  • Toplu ekleme kimliği alma için return_rows_bulk_insert seçeneği eklendi.
  • SQL Server 2022 desteği eklendi.
  • Azure SQL Yönetilen Örneği desteği eklendiJSONField.

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ı.