Примечания к выпуску Django 3.0.3¶
3 февраля 2020 г.
В Django 3.0.3 исправлена проблема безопасности и несколько ошибок в версии 3.0.2.
CVE-2020-7471: потенциальное внедрение SQL через StringAgg(delimiter).¶
StringAgg Функция агрегации подвергалась SQL-инъекции с использованием специально созданного разделителя.
Исправления¶
Исправлена регрессия в Django 3.0, приводившая к сбою при вычитании DateField, DateTimeField или TimeField из аннотации Subquery() (:ticket:31133).
Исправлена регрессия в Django 3.0, при которой
QuerySet.values()иvalues_list()аварийно завершали работу, если набор запросов содержал агрегирование и аннотациюExists()(#31136).Ослаблена системная проверка, добавленная в Django 3.0, чтобы разрешить использование подъязыка в настройке
LANGUAGE_CODE, когда базовый язык доступен в Django, но подъязык отсутствует (#31141).Добавлена поддержка использования типов перечисления TextChoices, IntegerChoices и Choices в шаблонах (:ticket:31154).
Исправлена системная проверка, проверяющая, соответствует ли атрибут
max_lengthсамому длинному варианту, когда именованная группа содержит только нестроковые значения (#31155).Исправлена регрессия в Django 2.2, приводившая к сбою
ArrayAggиStringAggс аргументомfilterпри использовании вSubquery(#31097).Исправлена регрессия в Django 2.2.7, из-за которой
get_FOO_display()работал некорректно при переопределении унаследованных вариантов (#31124).Исправлена регрессия в Django 3.0, приводившая к сбою QuerySet.prefetch_related() для GenericForeignKey с пользовательским внешним ключом ContentType (#31190).