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)。