Примечания к выпуску Django 1.8.7 ¶
24 ноября 2015 г.
Django 1.8.7 исправляет проблему безопасности и несколько ошибок в 1.8.6.
Кроме того, поставляемая Django версия из шести 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
ifto_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 ).