Django 1.10.1 版本发行说明

2016 年 9 月 1 日

Django 1.10.1 修复了 1.10 中的几个漏洞。

漏洞修复

  • 修复了 MySQL 连接中的一个崩溃问题,在该问题中 SELECT @@SQL_AUTO_IS_NULL 不返回结果 (#26991)。
  • 允许使用 ==!=| 来比较 User.is_authenticatedUser.is_anonymous 属性 (#26988, #27154)。
  • 移除了已损坏的 BaseCommand.usage() 方法,该方法用于 optparse 支持 (#27000)。
  • 修复了一个检查框架在空的 Meta.default_permissions 时崩溃的问题 (#26997)。
  • 修复了在使用 ModelChoiceField 表单字段时,使用 RadioSelect 时查询数量的回归问题 (#27001)。
  • 如果 request.META['CONTENT_LENGTH'] 是空字符串,修复了一个崩溃问题 (#27005)。
  • 修复了在 ForeignKey 上使用 isnull 查找,其中 to_field 指向一个 CharField 或指向一个使用 primary_key=True 定义的 CharField 时的问题 (#26983)。
  • 在存在未应用的压缩迁移的情况下,防止 migrate 命令引发 InconsistentMigrationHistory 异常 (#27004)。
  • 修复了 Client.force_login() 中的一个回归问题,该问题需要指定一个 backend,而不是在配置了多个后端的情况下自动使用第一个后端 (#27027)。
  • 在后端(例如 PostgreSQL)上使 QuerySet.bulk_create() 正确初始化模型实例,以便支持返回已创建记录的 ID,以便可以在新对象上使用多对多关系 (#27026)。
  • 修复了在启用 show_indexes 的情况下,django.views.static.serve() 崩溃的问题 (#26973)。
  • 修复了 ClearableFileInput 在存在初始数据时避免生成 required HTML 属性的问题 (#27037)。
  • 修复了在与 PostGIS 结合使用时,带有数据库函数的注释问题 (#27014)。
  • 重新允许 {% for %} 标签解包任何可迭代对象 (#27058)。
  • 如果没有使用数据库路由器,或者没有应用可以迁移到数据库,则在非默认数据库上使 makemigrations 跳过不一致的历史检查 (#27054, #27110, #27142)。
  • 移除了 Model._meta.managers 中的重复管理器 (#27073)。
  • 修复了 contrib.admindocs 在视图位于类中(例如某些管理视图)时崩溃的问题 (#27018)。
  • 回滚了一些检查,这些检查将 field.many_to_many 检查回到 isinstance(field, models.ManyToManyField),因为事实证明这些检查不适合这样泛化 (#26998)。
  • makemigrationsmigrate 引发的 InconsistentMigrationHistory 消息中添加了数据库别名 (#27089)。
  • 在没有要应用的迁移时,通过调用 migrate 命令修复了在没有迁移的应用程序模型中创建 ContentTypePermission 对象的问题 (#27044)。
  • 在提供给 pre_migrate 信号接收器的 Apps 实例中包括已应用的迁移状态更改,以允许在模型重命名时执行 ContentType 重命名 (#27100)。
  • 重新允许在 Meta.fields 中没有 USERNAME_FIELD 的情况下继承 UserCreationForm (#27111)。
  • 修复了模型表单中的一个回归问题,即模型字段具有未出现在 POST 数据中的 default 不再使用 default (#27039)。