Примечания к выпуску Django 2.2.1¶
Май 1, 2019
Django 2.2.1 исправляет несколько ошибок в версии 2.2.
Исправления¶
- Исправлена регрессия в Django 2.1, которая приводила к неправильному цитированию пароля пользователя базы данных при использовании
dbshellна Oracle (#30307). - Добавлена совместимость с
psycopg22.8 (#30331). - Исправлена регрессия в Django 2.2, которая приводила к сбою при загрузке шаблона для отладочной страницы Technical 500 (#30324).
- Исправлено падение аргумента
orderingвArrayAggиStringAgg, когда он содержит выражение с параметрами (#30332). - Исправлена регрессия в Django 2.2, из-за которой при быстром удалении одного экземпляра первичный ключ не устанавливался в значение
None(#30330). - Предотвращена возможность
makemigrationsгенерировать бесконечные миграции для проверочных ограничений и частичных индексов, когдаconditionсодержит объектrange(#30350). - Исправлена оптимизация в Django 2.2 (#29725), которая вызывала непоследовательное поведение
count()иexists()в обратных отношениях «многие ко многим» с пользовательским менеджером (#30325). - Исправлена регрессия в Django 2.2, когда
Paginatorаварийно завершается, еслиobject_listявляется кверисетом, упорядоченным или агрегированным над вложеннымJSONFieldключевым преобразованием (#30335). - Исправлена регрессия в Django 2.2, при которой
IntegerFieldвалидация границ базы данных аварийно завершалась, еслиlimit_valueатрибут в пользовательском валидаторе является вызываемым (#30328). - Исправлена ошибка в Django 2.2, когда
SearchVectorгенерировал SQL, который не является индексируемым (#30385). - Исправлена регрессия в Django 2.2, которая приводила к возникновению исключения, когда пользовательский обработчик ошибок не мог быть импортирован (#30318).
- Ослаблена системная проверка, добавленная в Django 2.2 для зависимостей приложения администратора, чтобы разрешить использование подклассов
SessionMiddleware, а не требовать, чтобыdjango.contrib.sessionsбыл вINSTALLED_APPS(#30312). - Увеличили таймаут по умолчанию при использовании
Watchmanдо 5 секунд, чтобы предотвратить возврат кStatReloaderв больших проектах, и сделали его настраиваемым с помощью переменной окруженияDJANGO_WATCHMAN_TIMEOUT(#30361). - Исправлена регрессия в Django 2.2, которая приводила к сбою при миграции разрешений для прокси-моделей, если целевые разрешения уже существовали. Например, когда разрешение было создано вручную или модель была перенесена из concrete в proxy (#30351).
- Исправлена регрессия в Django 2.2, которая приводила к сбою
runserver, когда модули URLConf вызывали исключения (#30323). - Исправлена регрессия в Django 2.2, когда изменения ненадежно определялись автозагрузчиком при использовании
StatReloader(#30323). - Исправлена ошибка миграции на Oracle и PostgreSQL при добавлении проверочного ограничения с поиском
contains,startswithилиendswith(или их вариант без учета регистра) (#30408). - Исправлена ошибка миграции на Oracle и SQLite при добавлении проверочного ограничения с
conditionсодержит|(OR) оператор (#30412).