Django 1.9.5 版本发行说明¶
2016 年 4 月 1 日
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)。恢复了管理员中
list_editable
中raw_id_fields
的功能 (#26387)。修复了抽象模型继承和显式父链接的一个回归问题(#26413)。
修复了在 SQLite 上重命名包含
ForeignKey
到'self'
的模型的主键时引发迁移崩溃的问题(#26384)。修复了在表单验证失败后显示
JSONField
值时不小心转义其内容的问题(#25532)。