Примечания к выпуску Django 4.2.2¶
5 июня 2023 г.
В Django 4.2.2 исправлено несколько ошибок, допущенных в 4.2.1.
Исправления¶
- Исправлена регрессия в Django 4.2, приводившая к ненужной обертке
DBMS_LOB.SUBSTR()
в поиске__isnull
и__exact=None
дляTextField()
/BinaryField()
на Oracle (#34544). - Восстановлен, после регрессии в Django 4.2, вызов
get_prep_value()
в подклассахJSONField
(#34539). - Исправлена регрессия в Django 4.2, приводившая к аварийному завершению работы
QuerySet.defer()
при передаче ссылкиManyToManyField
илиGenericForeignKey
. Хотя это запрещено, в старой версии (#34570) это было разрешено. - В Django 4.2 исправлена регрессия, приводившая к аварийному завершению работы
QuerySet.only()
при передаче обратной ссылкиOneToOneField
(#34612). - В Django 4.2 исправлена ошибка, при которой
makemigrations --update
не соблюдалась опция--name
(#34568). - Исправлено падение производительности в Django 4.2 при компиляции запросов без упорядочивания (#34580).
- Исправлена ошибка в Django 4.2, когда на странице «Поздравляем!» (#34588) ссылалась несуществующая таблица стилей.
- Исправлена регрессия в Django 4.2, приводившая к аварийному завершению работы
QuerySet.aggregate()
с выражениями, ссылающимися на другие агрегаты (#34551). - Исправлена регрессия в Django 4.2, приводившая к аварийному завершению работы
QuerySet.aggregate()
с агрегатами, ссылающимися на подзапросы (#34551). - В Django 4.2 исправлена регрессия, приводившая к аварийному завершению работы кверисетов на SQLite при фильтрации по
DecimalField
против значений, выходящих за пределы заданного диапазона (#34590). - В Django 4.2 исправлена регрессия, приводившая к сбою сериализации
ManyToManyField
без естественного ключа, когда в егоManager
в основеQuerySet
использовалсяselect_related()
(#34620).