Примечания к выпуску Django 1.8.7

24 ноября 2015 г.

Django 1.8.7 устраняет проблему безопасности и несколько ошибок в 1.8.6.

Кроме того, поставленная Django версия 6 django.utils.six ,, была обновлена ​​до последней версии (1.10.0).

Исправлена ​​возможность утечки настроек в date фильтре шаблона

Если приложение позволяет пользователям указывать непроверенный формат дат и передает этот формат date фильтру, например , тогда злоумышленник может получить любой секрет в настройках приложения, указав ключ настроек вместо формата даты. например вместо .{{ last_updated|date:user_date_format }} "SECRET_KEY" "j/m/Y"

Чтобы исправить это, основная функция, используемая date фильтром шаблона django.utils.formats.get_format() , теперь позволяет получить доступ только к настройкам форматирования даты и времени.

Исправления ошибок

  • Исправлен вылет в целях отладки во время изменения DST осени , когда USE_TZ есть False и pytz установлено.
  • Исправлена ​​регрессия в 1.8.6, которая приводила allow_migrate() к сбою маршрутизаторов баз данных без метода ( # 25686 ).
  • Исправлена ​​регрессия в 1.8.6 за счет восстановления возможности использования Manager объектов в качестве queryset аргумента ModelChoiceField ( # 25683 ).
  • Исправлена ​​регрессия в 1.8.6, которая приводила migrations к сбою приложения с южными миграциями в каталоге ( # 25618 ).
  • Исправлена ​​возможность потери данных с Prefetch if to_attr , установленным на ManyToManyField ( # 25693 ).
  • Исправлена ​​регрессия в 1.8, заставив gettext() снова возвращать байтовые строки UTF-8 на Python 2, если входные данные являются байтовыми строками ( # 25720 ).
  • Исправлена ​​сериализация DateRangeField и DateTimeRangeField ( # 24937 ).
  • Исправлен точный поиск ArrayField ( # 25666 ).
  • Исправлено Model.refresh_from_db() обновление ForeignKey полей с помощью on_delete=models.SET_NULL ( # 25715 ).
  • Исправлена ​​повторяющаяся регрессия запроса в 1.8 при удалении прокси-модели ( # 25685 ).
  • Исправлен set_FOO_order() сбой, когда ForeignKey модель со order_with_respect_to ссылкой на модель с OneToOneField первичным ключом ( # 25786 ).
  • Исправлена ​​некорректная проверка для MySQL PositiveIntegerField и PositiveSmallIntegerField в MySQL, приводившая к значениям больше 4294967295 или 65535, соответственно, проходящим проверку и беззвучно усекаемым базой данных ( # 25767 ).

Copyright ©2020 All rights reserved