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 中修复了一个回归问题,该问题导致在传递 ManyToManyFieldGenericForeignKey 引用时,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)。