# Django 5.2.8 documentation

# 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）。