• 3.1
  • 5.0
  • 6.1
  • Версия документации: 3.2

Примечания к выпуску 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).

Back to Top