Django 1.8.2 发行说明 — Django 文档

来自菜鸟教程
Django/docs/2.2.x/releases/1.8.2
跳转至:导航、​搜索

Django 1.8.2 发行说明

2015 年 5 月 20 日

Django 1.8.2 修复了 1.8.1 中的一个安全问题和几个错误。

修复了 cached_db 后端中的会话刷新

Django 1.8 中 cached_db 会话后端对 session.flush() 的更改错误地将会话密钥设置为空字符串而不是 None。 空字符串被视为有效的会话密钥,并相应地设置会话 cookie。 会话 cookie 中包含空字符串的任何用户都将使用相同的会话存储。 session.flush()django.contrib.auth.logout() 调用,更严重的是,当用户切换帐户时,由 django.contrib.auth.login() 调用。 如果用户登录并再次登录到不同的帐户(没有注销),会话将被刷新以避免重复使用。 会话刷新后(其会话密钥变为 ),在会话上设置帐户详细信息并保存会话。 会话 cookie 中包含空字符串的任何用户现在都将登录到该帐户。


错误修正

  • 修复了对模板引擎别名唯一性的检查 (:ticket:`24685`)。
  • 修复了在查询 (:ticket:`24752`) 中重用相同 Case 实例时崩溃的问题。
  • 更正了 Case 表达式的连接提升。 例如,使用 Case 表达式注释查询可能会意外过滤掉结果 (:ticket:`24766`)。
  • 修复了表达式中否定的 Q 对象。 像 Case(When(~Q(friends__age__lte=30))) 这样的案例试图生成导致崩溃的子查询 (:ticket:`24705`)。
  • 修复了当查询模型具有自引用外键 (:ticket:`24748`) 时 MySQL 上不正确的 GROUP BY 子句生成。
  • 实现了 ForeignKey.get_db_prep_value() 以便 ForeignKey 指向 UUIDField 并在具有 UUIDField 主键的模型上正确工作(:ticket:`24698` , :ticket:`24712`)。
  • 修复了 isnull 查找 HStoreField (:ticket:`24751`)。
  • 修复了当迁移删除包含外键 (:ticket:`24757`) 的组合索引(unique_together 或 index_together)时 MySQL 崩溃的问题。
  • 修复了使用 :setting:`SESSION_COOKIE_DOMAIN` (:ticket:`24799`) 时会话 cookie 删除的问题。
  • 在 PostgreSQL 上,当没有授予 postgres 数据库的访问权限时,Django 现在回退到默认数据库,而它通常需要“无数据库”连接(:ticket:`24791`) .
  • 修复了 contrib.adminForeignKey 小部件与其他字段一起使用时的显示(:ticket:`24784`)。