# Django 5.2.8 documentation

# Django 4.2.2 版本发行说明

2023 年 6 月 5 日

Django 4.2.2 修复了 4.2.1 版本中的一些错误。

## 漏洞修复

- 在 Django 4.2 中修复了一个回归问题，该问题导致在 Oracle 上的 `TextField()`/`BinaryField()` 上使用 `__isnull` 和 `__exact=None` 查找时出现不必要的 `DBMS_LOB.SUBSTR()` 包装 (#34544)。

- 在 Django 4.2 中修复了一个回归问题，恢复了 `JSONField` 子类中的 `get_prep_value()` 调用 (#34539)。

- 在 Django 4.2 中修复了一个回归问题，该问题导致在传递 `ManyToManyField` 或 `GenericForeignKey` 引用时，`QuerySet.defer()` 发生崩溃。虽然这是一个无操作，但在较旧的版本中允许这样做 (#34570)。

- 在 Django 4.2 中修复了一个回归问题，该问题导致在传递反向 `OneToOneField` 引用时，`QuerySet.only()` 发生崩溃 (#34612)。

- 在 Django 4.2 中修复了一个 bug，该 bug 导致 `makemigrations --update` 不会考虑 `--name` 选项 (#34568)。

- 在 Django 4.2 中修复了一个性能回归问题，当编译没有排序的查询时会有性能问题 (#34580)。

- 在 Django 4.2 中修复了一个回归问题，该问题导致在“恭喜！”页面上链接了不存在的样式表 (#34588)。

- 在 Django 4.2 中修复了一个回归问题，该问题导致在引用其他聚合的表达式中使用 `QuerySet.aggregate()` 时发生崩溃 (#34551)。

- 在 Django 4.2 中修复了一个回归问题，该问题导致在引用子查询的聚合中使用 `QuerySet.aggregate()` 时发生崩溃 (#34551)。

- 在 Django 4.2 中修复了一个回归问题，该问题导致在 SQLite 上对 `DecimalField` 进行过滤时，当值超出定义范围时，查询集发生崩溃 (#34590)。

- 在 Django 4.2 中修复了一个回归问题，该问题导致在没有自然键的情况下，当其 `Manager` 的基本 `QuerySet` 使用了 `select_related()` 时，`ManyToManyField` 的序列化会崩溃 (#34620)。