Django 1.1.3 发行说明 — Django 文档

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

Django 1.1.3 版本发行说明

欢迎来到 Django 1.1.3 版本!

这是 Django 1.1 系列中的第三个“错误修复”版本,提高了 Django 1.1 代码库的稳定性和性能。

除了一个例外,Django 1.1.3 保持与 Django 1.1.2 的向后兼容性。 它还包含许多修复和其他改进。 Django 1.1.2 是当前使用或针对 Django 1.1 的任何开发或部署的推荐升级。

有关 1.1 分支中的新功能、向后不兼容和已弃用功能的完整详细信息,请参阅 Django 1.1 发行说明

不向后兼容的变更

管理界面中的受限过滤器

Django 管理界面 django.contrib.admin 支持按相应模型上的字段过滤显示的对象列表,包括跨数据库级关系。 这是通过在 URL 的查询字符串部分传递查找参数来实现的,ModelAdmin 类上的选项允许开发人员指定特定的字段或关系,这些字段或关系将生成用于过滤的自动链接。

一个历史上未记录且非官方支持的功能是让用户充分了解模型的结构和这些查找参数的格式,从而通过操作查询字符串动态地发明有用的新过滤器。

但是,已经证明可以滥用此权限来访问管理员用户权限之外的信息; 例如,攻击者可以访问管理员并充分了解模型结构和关系,可以构造查询字符串——重复使用 Django 数据库 API 支持的正则表达式查找——暴露敏感信息,例如用户的密码哈希。

为了解决这个问题,django.contrib.admin 现在将验证查询字符串查找参数要么仅指定正在查看的模型上的字段,要么已由应用程序开发人员使用上述预先存在的机制明确列入白名单的交叉关系。 对于依赖于插入任意查找的先前能力的任何用户来说,这是向后不兼容的。