Примечания к выпуску 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 ).
  • Исправлена ​​возможность потери данных с Prefetchif 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 ©2021 All rights reserved