Примечания к выпуску Django 1.9.5¶
1 апреля 2016
Django 1.9.5 исправляет несколько ошибок в 1.9.4.
Исправления¶
- Заставил
MultiPartParser
игнорировать имена файлов, которые нормализуются в пустую строку, для исправления сбоя вMemoryFileUploadHandler
при специально созданном пользовательском вводе (#26325). - Исправлено состояние гонки в
BaseCache.get_or_set()
(#26332). Теперь возвращается значениеdefault
вместоFalse
, если произошла ошибка при попытке добавить значение в кэш. - Исправлена потеря данных на SQLite, когда значения
DurationField
с дробными секундами могли быть сохранены какNone
(#26324). - Формы в
contrib.auth
больше не удаляют из полей пароля (#26334) пробельные символы, идущие в конце и впереди. Это изменение требует от пользователей, которые установили пароль с такими пробелами после обновления сайта до Django 1.9, сбросить свой пароль. Это обеспечивает обратную совместимость с более ранними версиями Django. - Исправлена утечка памяти в кэшированном загрузчике шаблонов (#26306).
- Исправлена регрессия, из-за которой
collectstatic --clear
не выполнялось, если хранилище не реализуетpath()
(#26297). - Исправлена ошибка при использовании обратного поиска с подзапросом, когда
ForeignKey
имеетto_field
, установленный не на первичный ключ (#26373). - Исправлена регрессия в
CommonMiddleware
, которая приводила к ложным предупреждениям в журналах при запросах, в которых отсутствовал завершающий слэш (#26293). - Восстановлена функциональность админки
raw_id_fields
вlist_editable
(#26387). - Исправлена ошибка с наследованием абстрактной модели и явными родительскими ссылками (#26413).
- Исправлен сбой миграций на SQLite при переименовании первичного ключа модели, содержащей
ForeignKey
в'self'
(#26384). - Исправлено, что
JSONField
непреднамеренно экранирует свое содержимое при отображении значений после неудачной валидации формы (#25532).