---
title: "Django 2.2.1 版本发行说明"
version: 5.2
locale: zh-hans
source: https://docs.djangoproject.com/zh-hans/5.2/releases/2.2.1/
canonical: https://djangodocs.dev/zh-hans/5.2/releases/2.2.1/
---
# Django 2.2.1 版本发行说明

*2019 年 5 月 1 日*

Django 2.2.1 修复了 2.2 版本中的一些错误。

## 漏洞修复

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