# Django 5.2.8 documentation

# Django 1.9.1 版本发行说明

2016 年 1 月 2 日

Django 1.9.1 修复了 1.9 版本中的一些错误。

## 漏洞修复

- 修复了使用 `DummyCache` 后端的 `BaseCache.get_or_set()` 方法（#25840）。

- 修复了 `FormMixin` 中的回归问题，导致表单被验证两次（#25548, #26018）。

- 修复了嵌套 `ArrayField` 的系统检查崩溃问题（#25867）。

- 修复了在向后迁移 `SeparateDatabaseAndState` 操作时的状态错误问题（#25896）。

- 修复了 `CommonMiddleware` 中的回归问题，导致 `If-None-Match` 检查始终返回 HTTP 200（#25900）。

- 在 PostgreSQL 上使用 `AlterField` 时，修复了在 `CharField` 和 `TextField` 上分别缺少 `varchar/text_pattern_ops` 索引的问题（#25412）。

- 修复了管理界面中删除确认页面上相关对象的摘要计数（#25883）。

- 在 Python 2 上由 `startapp` 创建的默认 `apps.py` 中添加了 `from __future__ import unicode_literals` （#25909）。如果你希望你自己使用 Django 1.9 创建的 `apps.py` 文件在 Python 2 和 Python 3 上都能正常工作，可以将这一行添加到你自己的 `apps.py` 文件中。

- 修复了在跨关系查询时防止 `QuerySet.delete()` 在 MySQL 上崩溃的问题（#25882）。

- 修复了对 `QuerySet.values()` 的零长度切片的评估问题（#25894）。

- 修复了在使用 `AlterModelManagers` 操作时的状态错误问题（#25852）。

- 修复了带有可空字段的 `TypedChoiceField` 更改检测问题（#25942）。

- 修复了自定义管理模板中不带有 `data-admin-utc-offset` 属性的 `body` 标签中的不正确的时区警告问题（#25845）。

- 修复了一个导致无法使用不在 Django 的默认语言列表 (`LANGUAGES`) 中的语言的回归问题（#25915）。

- 在启动 `runserver` 时避免将一些异常（如无效的 `INSTALLED_APPS` 设置）隐藏在 `AppRegistryNotReady` 后面（#25510）。这个回归问题出现在 1.8.5 版中，是在修复 #24704 时的副作用，不小心没有将修复应用到 `stable/1.9.x` 分支。

- 修复了 `migrate --fake-initial` 对于多对多表的检测问题（#25922）。

- 恢复了管理界面的 `list_editable` 添加和更改按钮的功能（#25903）。

- 修复了对于 `ForeignObject` 的 `isnull` 查询查找问题（#25972）。

- 修复了在管理员中的回归问题，该问题忽略只读字段中的换行符而不是将它们转换为 `<br>` （#25465）。

- 修复了 `SingleObjectMixin.get_context_object_name()` 中的不正确对象引用问题（#26006）。

- 当 `loaddata` 不加载任何数据时，使其跳过禁用和启用数据库约束（#23372）。

- 恢复了 `contrib.auth` 哈希算法与 `py-bcrypt` 的兼容性（#26016）。

- 修复了在 `annotate()` 和 `order_by()` 后使用 `QuerySet.values()/values_list()` 并包含一个不在 `order_by()` 中的字段后导致崩溃的问题（#25316）。