이 문서에서는 Django 데이터베이스 백 엔드의 mssql-django 각 버전에서 새로운 기능, 개선 사항 및 변경 내용을 설명합니다.
버전 1.7.3
릴리스 날짜: 2026년 6월
버전 1.7.3은 두 개의 연결 및 런타임 수정이 포함된 이전 버전과 호환되는 패치 릴리스입니다.
버그 수정
-
ActiveDirectoryMsi이외의Authentication=모드에 대한FA001: 이전에는 백엔드가ActiveDirectoryMsi에 대해서만Trusted_Connection=yes를 건너뛰었습니다.USER값을 제공하지 않는 다른 Entra 모드(예:ActiveDirectoryIntegrated,ActiveDirectoryDefault,ActiveDirectoryDeviceFlow)도 여전히Trusted_Connection=yes를 받았으며, ODBC 드라이버는 이를FA001(Cannot use Authentication option with Integrated Security option)와 함께 거부했습니다. 이 수정은 경계를 인식하고 대/소문자를 구분하지 않는 방식으로 명시적Authentication=값을 감지하며,Trusted_Connection와Integrated Security=SSPI는 모두 건너뜁니다. 비밀번호 처리는 변경되지 않았습니다:SqlPassword,ActiveDirectoryPassword, 및ActiveDirectoryServicePrincipal는 계속PWD를 전송하는 반면,ActiveDirectoryInteractive는 계속 이를 제외합니다. -
KeyError하위 클래스로 만든DatabaseWrapper에서: 캐시된sql_server_version및to_azure_sql_db속성은cached_property에 대한type(self).__dict__인트로스펙션에 의존했으며, 이로 인해DatabaseWrapper의 서브클래스가 해당 속성들에 처음 접근할 때KeyError가 발생했습니다(1.7.1에서 도입된 회귀). 이 수정에서는self.를 통해 액세스되는 명시적인 클래스 수준 딕셔너리(_known_versions,_known_azures)를 사용하므로, 조회가 MRO를 통해 해결되고 서브클래싱된 래퍼가 올바르게 동작합니다.
버전 1.7.2
릴리스 날짜: 2026년 5월
버전 1.7.2는 표준 시간대 및 호환성 수정이 포함된 이전 버전과 호환되는 패치 릴리스입니다.
버그 수정
-
.explain()Django 4.0 이상에 대한 호환성: Django 4.0 이상에서 더 이상 실패.explain()하지 않도록AttributeErrorDjango 설명 메타데이터의 컴파일러 처리를 수정했습니다. 이제 백엔드는 버전에 맞는 explain 필드를 따르며, 필요할 때는NotSupportedError를 올바르게 발생시킵니다. - datetimeoffset 표준 시간대 처리: 표준 시간대 오프셋이 삭제되지 않고 유지되도록 datetimeoffset 구문 분석이 수정되었습니다. 이제 반환되는 날짜/시간 값은 필요한 경우 시간대 정보가 포함된 상태로 제공됩니다.
-
Now()withUSE_TZ=True: 시간대 지원이 활성화된 경우 시간대 인식 동작을 사용하도록Now()에 대한 SQL 생성을 업데이트하여 UTC가 아닌 SQL Server 호스트에서 타임스탬프 드리프트를 방지합니다.
버전 1.7.1
릴리스 날짜: 2026년 4월
버전 1.7.1은 버그 수정이 포함된 이전 버전과 호환되는 패치 릴리스입니다.
버그 수정
-
FieldDoesNotExist인덱스 순서가 내림차순일 때 필드를 변경하는 경우: 인덱스 필드 이름을 해결할 때index.fields대신index.fields_orders를 사용하도록schema.py의_alter_field()를 수정했습니다. 이전 코드는 정렬 정보가 포함된 원시 필드 문자열(예:"-pub_date")을model._meta.get_field()에 전달했으며, 이로 인해FieldDoesNotExist가 발생했습니다. 이제 필드 이름만 추출되고 순서 지정 접미사가 제대로 삭제됩니다. -
Microsoft Fabric 지원의 SQL 데이터베이스(EngineEdition 12): Fabric(
EngineEdition=12)에서 Azure 버전으로 인식된 SQL 데이터베이스입니다. 이전에는 Fabric의 엔진 에디션을 인식하지 못해to_azure_sql_db가False을 반환하고 기능 게이트 확인이 실패했습니다. 수정 사항은_AZURE_EDITIONS에EDITION_AZURE_SQL_FABRIC=12를 추가하고 Fabric을 최신 지원 SQL Server 버전에 매핑합니다.JSONField, 해시 함수, 데이터 정렬 정보 조회 및 테스트 데이터베이스 정리는 이제 Fabric에서 올바르게 작동합니다.
버전 1.7
릴리스 날짜: 2026년 3월
하이라이트
- Django 6.0 지원: Django 6.0과의 완전한 호환성( Python 3.12 이상이 필요합니다. 모든 6.0 API 변경 내용은 백 엔드에서 투명하게 처리됩니다.
-
부분
CompositePrimaryKey지원: 백 엔드는 Django 5.2CompositePrimaryKey에 대한 부분 지원을 추가합니다. 하위 쿼리에 대한 튜플 비교에는 Django 5.2.4 이상이 필요하며 일부 복합 키 및JSONField에지 사례는 남아 있습니다. Django 5.2 자체는 mssql-django 1.6에서 처음 지원되었습니다. - SQL Server 2025 지원: SQL Server 2025에 대해 유효성이 검사되었습니다.
- ODBC 드라이버 18 기본값: 이제 백 엔드는 SQL Server ODBC Driver 18로 기본 설정되며 버전 18이 설치되지 않은 경우 ODBC Driver 17로 자동 대체됩니다.
버전별 참고 사항
| Django 버전 | Notes |
|---|---|
| Django 5.1 |
inspectdb 는 복합 기본 키가 있는 테이블을 검사할 수 있지만 전체 모델 정의를 생성하지는 않습니다. |
| Django 5.2 |
CompositePrimaryKey 지원은 부분적입니다. 하위 쿼리에 대한 튜플 비교에는 Django 5.2.4 이상이 필요하며 일부 마이그레이션과 JSONField 에지 케이스는 남아 있습니다. |
| Django 6.0 | Python 3.12 이상이 필요합니다. 모든 5.2 제한 사항이 적용됩니다. |
버전 1.6
릴리스 날짜: 2025년 8월
- Django 5.1 및 5.2 지원이 추가되었습니다.
- 향상된 JSON 기능 및 이전 버전과의 호환성
- 파이프라인 인프라가 개선되었습니다.
버전 1.5
릴리스 날짜: 2024년 4월
-
db_comments용supports_comments기능 플래그가 추가되었습니다. - 매개 변수 형식 지정 및 스키마 쿼리에 대한
AutoField버그 수정
버전 1.4
릴리스 날짜: 2024년 1월
- Django 5.0 지원이 추가되었습니다.
-
db_comment지원이 추가되었습니다. - 날짜/시간 변환 및 빈 집계에 대한 버그 수정
버전 1.3
릴리스 날짜: 2023년 5월
- Django 4.2 지원이 추가되었습니다.
- 대/소문자를 구분
Replace하는 함수 지원이 추가되었습니다. -
OFFSET처리 및 왼쪽 패딩 관련 버그 수정
버전 1.2
릴리스 날짜: 2022년 12월
- Django 4.1 지원이 추가되었습니다.
- 표준 시간대 지원(datetimeoffset 포함
USE_TZ=True)이 추가되었습니다. - 대량 삽입 ID 검색에 대한 옵션이 추가
return_rows_bulk_insert되었습니다. - SQL Server 2022 지원이 추가되었습니다.
- Azure SQL Managed Instance 대한 지원이 추가되었습니다
JSONField.
버전 1.1
릴리스 날짜: 2022년 7월
- Django 3.2 및 4.0 지원.
- SQL Server 2016 이상 및 Azure SQL Database 지원.
-
pyodbc기반 연결.