2016 年 2 月 1 日
Django 1.9.2 修复了 1.9 版本中的一个安全回归问题以及 1.9.1 版本中的一些错误。它还进行了一个小的不向后兼容的更改,希望不会影响任何用户。
save_as=True 的 ModelAdmin 创建对象。这个问题已得到修复。¶如果一个 ModelAdmin 使用了 save_as=True (不是默认值),在编辑对象时,管理员提供了一个选项来“另存为新对象”。在 Django 1.9 中的一个回归问题阻止了对于没有“添加”权限的用户,这个表单提交不会引发“权限被拒绝”的错误。这个问题已得到修复。
.py-tpl 文件。¶在 Django 1.9 中将一些 Django 模板语言语法添加到默认应用程序模板中,这意味着这些文件现在具有一些无效的 Python 语法。这会对无条件地字节编译 *.py 文件的打包系统造成困难。
为了解决这个问题,现在在 Django 中使用 .py-tpl 后缀来表示项目和应用程序模板文件。startproject 和 startapp 命令会将 .py-tpl 后缀替换为 .py。例如,文件名为 manage.py-tpl 的模板将被创建为 manage.py。
如果你有一个包含 .py-tpl 文件的自定义项目模板,并且发现这个行为有问题,请提交一个问题报告。
ConditionalGetMiddleware 中的回归问题,导致 If-None-Match 检查始终返回 HTTP 200(#26024)。db_index=True 或 unique=True 添加到已经具有另一个指定的 CharField 或 TextField,或者从已经同时具有两者之一的字段中移除一个,或者将 unique=True 添加到已在 unique_together 中列出的字段时,处理索引不正确的问题(#26034)。USE_X_FORWARDED_PORT=True 时对 POST 请求的 CSRF Cookie 检查问题(#26094)。ManyToManyField 的 through 模型的关联字段进行排序时,导致 QuerySet.order_by() 崩溃的问题(#26092)。DEBUG 为 True 时导致异常的回归问题,这个问题发生在一些分布式中,它将 SQLITE_MAX_VARIABLE_NUMBER 编译时限制增加到了 2000 以上,比如 Debian(#26063)。ModelAdmin.readonly_fields 中使用反向的 OneToOneField 时导致崩溃的问题(#26060)。migrate 命令,并且 available_apps 属性指向一个使用 MIGRATION_MODULES 设置禁用迁移的应用程序时导致崩溃的问题(#26135)。Node.token.source[0] 从节点中访问模板来源。这是一个未记录的私有 API。现在,每个节点都可以直接使用 Node.origin 属性获取源信息(#25848)。copy.copy() 复制 SimpleLazyObject (#26122)。fields 参数如何,GeoJSON 序列化器输出中始终包含了 geometry_field (#26138)。USE_THOUSAND_SEPARATOR=True 时,contrib.gis 地图小部件的问题(#20415)。8月 06, 2024