Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются новые функции, улучшения и изменения в каждой версии серверной mssql-django части базы данных Django.
Версия 1.7.3
Дата выпуска: июнь 2026 г.
Версия 1.7.3 — это выпуск исправлений с обратной совместимостью с двумя исправлениями подключения и среды выполнения.
Исправленные ошибки
-
FA001для режимов, отличных отActiveDirectoryMsi: Ранее серверная часть пропускалаTrusted_Connection=yesтолько дляActiveDirectoryMsi. Другие режимы Entra, которые не предоставляют значениеUSER(например,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зависели от интроспекцииtype(self).__dict__объектаcached_property, из-за чего при первом обращении подклассаDatabaseWrapperк ним возникалоKeyError(регрессия, внесённая в версии 1.7.1). Исправление использует явные словари класса (_known_versions,_known_azures), доступ к которым осуществляется черезself., поэтому поиск разрешается по MRO, и обёртки подклассов работают корректно.
Версия 1.7.2
Дата выпуска: май 2026 г.
Версия 1.7.2 — это патч-релиз, сохраняющий обратную совместимость и содержащий исправления, связанные с часовыми поясами и совместимостью.
Исправленные ошибки
-
.explain()Совместимость с Django 4.0 и более поздними версиями: исправлена обработка компилятором метаданных explain в Django, поэтому.explain()больше не приводит к сбою сAttributeErrorв Django 4.0 и более поздних версиях. Серверная часть теперь использует соответствующие версии поля explain и при необходимости корректно генерируетNotSupportedError. - Обработка часового пояса datetimeoffset: исправлен разбор datetimeoffset, поэтому смещения часового пояса сохраняются, а не отбрасываются. Возвращаемые значения даты и времени теперь содержат информацию о часовом поясе там, где это ожидается.
-
Now()withUSE_TZ=True: обновлена генерация SQL дляNow(): теперь при включенной поддержке часовых поясов используется поведение с учётом часового пояса, что предотвращает смещение меток времени на хостах SQL Server, не использующих UTC.
Версия 1.7.1
Дата выпуска: апрель 2026 г.
Версия 1.7.1 — это обратно совместимый патч-релиз с исправлениями ошибок.
Исправленные ошибки
-
FieldDoesNotExistпри изменении полей при убывающем порядке индексов: Исправлено_alter_field()вschema.py: теперь используетсяindex.fields_ordersвместоindex.fieldsпри определении имён полей индекса. Предыдущий код передавал необработанные строки полей с сортировкой (например,"-pub_date") вmodel._meta.get_field(), что вызывалоFieldDoesNotExist. Теперь извлекается только имя поля, а суффикс сортировки корректно отбрасывается. -
Поддержка базы данных SQL в Microsoft Fabric (EngineEdition 12): база данных SQL в Fabric распознается как редакция Azure (
EngineEdition=12). Ранее редакция движка Fabric не распознавалась, из-за чегоto_azure_sql_dbвозвращалFalse, а проверки флагов функций завершались сбоем. Исправление добавляетEDITION_AZURE_SQL_FABRIC=12в_AZURE_EDITIONSи сопоставляет Fabric с последней поддерживаемой версией SQL Server.JSONField, хэш-функции, анализ параметров сортировки и очистка тестовой базы данных теперь работают правильно в Fabric.
Версия 1.7
Дата выпуска: март 2026 г.
Обзор матча
- Поддержка Django 6.0: полная совместимость с Django 6.0, которая требует Python 3.12 или более поздней версии. Все изменения API 6.0 обрабатываются прозрачно серверной частью.
-
Частичная
CompositePrimaryKeyподдержка: Серверная часть добавляет частичную поддержку Django 5.2CompositePrimaryKey. Для сравнения кортежей с подзапросами требуется Django версии 5.2.4 или новее, при этом некоторые крайние случаи со составными ключами иJSONFieldостаются. Django 5.2 впервые поддерживается в mssql-django 1.6. - поддержка SQL Server 2025: проверена на SQL Server 2025.
- Драйвер ODBC 18 по умолчанию: серверная часть по умолчанию использует драйвер ODBC 18 для SQL Server, при этом автоматический возврат к ODBC Driver 17, если версия 18 не установлена.
Заметки для конкретной версии
| Версия Django | Примечания |
|---|---|
| Django 5.1 |
inspectdb может проверять таблицы с составными первичными ключами, но для них не создаются полные определения моделей. |
| Django 5.2 |
CompositePrimaryKey поддержка является частичной. Для сравнения кортежей с вложенными запросами требуется Django 5.2.4 или более поздней версии, а некоторые варианты миграции и JSONField пограничные варианты остаются. |
| Django 6.0 | Требуется Python 3.12 или более поздней версии. Применяются все ограничения 5.2. |
Версия 1.6
Дата выпуска: август 2025 г.
- Добавлена поддержка Django 5.1 и 5.2.
- Расширенная функциональность JSON и обратная совместимость.
- Улучшенная инфраструктура конвейера.
Версия 1.5
Дата выпуска: апрель 2024 г.
- Добавлен
supports_commentsфлаг функции дляdb_comments. - Исправлены ошибки, связанные с
AutoField, форматированием параметров и запросами к схеме.
Версия 1.4
Дата выпуска: январь 2024 г.
- Добавлена поддержка Django 5.0.
- Добавлена поддержка
db_comment. - Исправления ошибок в преобразованиях даты/времени и пустых агрегатах.
Версия 1.3
Дата выпуска: май 2023 г.
- Добавлена поддержка Django 4.2.
- Добавлена поддержка
Replaceчувствительных к регистру функций. - Исправления ошибок для
OFFSETобработки и левого заполнения.
Версия 1.2
Дата выпуска: декабрь 2022 г.
- Добавлена поддержка Django 4.1.
- Добавлена поддержка часовых поясов (datetimeoffset с
USE_TZ=True). - Добавлен параметр
return_rows_bulk_insertдля получения идентификаторов при массовой вставке. - Добавлена поддержка SQL Server 2022.
- Добавлена
JSONFieldподдержка Управляемый экземпляр SQL Azure.
Версия 1.1
Дата выпуска: июль 2022 г.
- Поддержка Django 3.2 и 4.0.
- Поддерживаются SQL Server 2016 и более поздние версии, а также База данных SQL Azure.
- Подключение на основе
pyodbc.