Django 3.2.1 发行说明 — Django 文档

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

Django 3.2.1 发行说明

2021 年 5 月 4 日

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

CVE-2021-31542:通过上传文件的潜在目录遍历

MultiPartParserUploadedFileFieldFile 允许通过具有适当制作的文件名的上传文件进行目录遍历。

为了减轻这种风险,现在应用了更严格的基名和路径卫生。


错误修正

  • 更正了 Windows 上 GDAL 3.2 的检测(:ticket:`32544`)。
  • 修复了 Django 3.2 中 BigAutoFieldSmallAutoField 的子类不允许用于 :setting:`DEFAULT_AUTO_FIELD` 设置的错误 (:ticket:`32620` )。
  • 修复了 Django 3.2 中的一个回归,当它被未注释的字段 ( ]:票:`32627`)。
  • 已恢复,在 Django 3.2 中回归后,在技术 404 调试页面 (:ticket:`32637`) 上显示异常消息。
  • 修复了 Django 3.2 中的一个错误,即系统检查会在 CheckConstraint.checkUniqueConstraint.condition (:ticket:`32635`) 中的反向一对一关系上崩溃。
  • 修复了 Django 3.2 中的回归,该回归导致 ModelAdmin.search_fields 在搜索带有不平衡引号 (:ticket:`32649`) 的短语时崩溃。
  • 修复了 Django 3.2 中的一个错误,如果未定义替代项(:ticket:`32648`),则会记录变量查找错误以呈现站点地图模板。
  • 修复了 Django 3.2 中在组合包含布尔表达式 (:ticket:`32548`) 的 Q() 对象时导致崩溃的回归。
  • 修复了 Django 3.2 中的回归,该回归导致 QuerySet.update() 在 MySQL 和 MariaDB 上由继承或连接字段排序的查询集崩溃 (:ticket:`32645`)。
  • 修复了 Django 3.2 中的一个回归,该回归在解码 django.contrib.messages.storage.cookie.CookieStorage 使用的 Django 3.2 之前格式 (:ticket:`32643`) 的 cookie 值时导致崩溃。
  • 修复了 Django 3.2 中的一个回归,该回归停止了 shift 键修饰符在管理更改列表中选择多行 (:ticket:`32647`)。
  • 修复了 Django 3.2 中系统检查会在 :setting:`STATICFILES_DIRS` 设置中崩溃的错误,其中包含 (prefix, path) 的 2 元组列表 (:ticket:`32665 `)。
  • 由于使用 Existsexclude() 多值关系的单独修复(:ticket: `32650`)。
  • 修复了 Django 3.2 中在呈现一些管理模板时记录变量查找错误的错误 (:ticket:`32681`)。
  • 修复了 Django 3.2 中的一个错误,即当删除针对多值关系 (:ticket:`32682`) 过滤的对象时,管理员更改列表会崩溃。 管理更改列表现在使用 Exists() 代替 QuerySet.distinct(),因为在 Django 3.2 中不允许在 distinct() 之后调用 delete() 来解决数据丢失的可能性。
  • 修复了 Django 3.2 中调用进程环境不会传递给 PostgreSQL 上的 dbshell 命令的回归(:ticket:`32687`)。
  • 修复了在 Django 3.2 中使用子查询构建复杂过滤器时的性能回归 (:ticket:`32632`)。 作为副作用,用于检查 django.db.sql.query.Query 相等性的私有 API 被删除。