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 时,修复了在 CharFieldTextField 上分别缺少 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)。
  • 修复了对于 ForeignObjectisnull 查询查找问题(#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)。