Django 2.2.1 版本发行说明
2019 年 5 月 1 日
Django 2.2.1 修复了 2.2 版本中的一些错误。
漏洞修复
- 修复了 Django 2.1 中的一个回归问题,当在 Oracle 上使用 dbshell 时,导致数据库用户密码引号不正确 (#30307)。
- 增加了对
psycopg2
2.8 的兼容性 (#30331)。 - 修复了 Django 2.2 中的一个回归问题,导致在加载技术性的 500 调试页面模板时崩溃 (#30324)。
- 修复了当
ordering
参数中包含具有参数的表达式时,导致 ArrayAgg 和 StringAgg 崩溃的问题 (#30332)。 - 修复了 Django 2.2 中的一个回归问题,导致单个实例的快速删除未将主键设置为
None
(#30330)。 - 阻止了 makemigrations 在
condition
包含 range 对象时为检查约束和部分索引生成无限迁移 (#30350)。 - 撤销了 Django 2.2 中的一个优化 (#29725),该优化导致在具有自定义管理器的反向多对多关系上的
count()
和exists()
出现不一致的行为 (#30325)。 - 修复了 Django 2.2 中的一个回归问题,当
object_list
是在嵌套的JSONField
键转换上排序或聚合的查询集时,导致 Paginator 崩溃的问题 (#30335)。 - 修复了 Django 2.2 中的一个回归问题,当自定义验证器的
limit_value
属性是可调用的时,导致数据库限制的IntegerField
验证崩溃的问题 (#30328)。 - 修复了 Django 2.2 中的一个回归问题,其中 SearchVector 生成的 SQL 无法建立索引 (#30385)。
- 修复了 Django 2.2 中的一个回归问题,当无法导入自定义错误处理程序时,导致引发异常的问题 (#30318)。
- 放宽了在 Django 2.2 中为管理应用程序的依赖项添加的系统检查,以允许再次使用 SessionMiddleware 的子类,而不需要将 django.contrib.sessions 添加到 INSTALLED_APPS 中 (#30312)。
- 将使用
Watchman
时的默认超时时间增加到 5 秒,以防止在较大的项目上回退到StatReloader
,并通过 DJANGO_WATCHMAN_TIMEOUT 环境变量进行自定义设置 (#30361)。 - 修复了 Django 2.2 中的一个回归问题,如果目标权限已经存在,导致在迁移代理模型的权限时崩溃。例如,当权限已手动创建或模型已从具体模型迁移到代理模型时 (#30351)。
- 修复了 Django 2.2 中的一个回归问题,导致当 URLConf 模块引发异常时,runserver 崩溃的问题 (#30323)。
- 修复了 Django 2.2 中的一个回归问题,当使用
StatReloader
时,自动重新加载器无法可靠地检测到更改的问题 (#30323)。 - 修复了在 Oracle 和 PostgreSQL 上添加具有
contains
、startswith
或endswith
查找(或其不区分大小写的变体)的检查约束时发生的迁移崩溃问题 (#30408)。 - 修复了在 Oracle 和 SQLite 上添加具有
condition
包含|
(OR
)运算符的检查约束时发生的迁移崩溃问题 (#30412)。