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

*2020 年 2 月 3 日*

Django 3.0.3 修复了 3.0.2 版本中的一个安全问题和多个错误。

## CVE-2020-7471: 通过 `StringAgg(delimiter)` 可能存在 SQL 注入风险。

[`StringAgg`](/zh-hans/4.2/ref/contrib/postgres/aggregates/#django.contrib.postgres.aggregates.StringAgg) 聚合函数存在 SQL 注入风险，使用适当构造的 `delimiter`。

## 漏洞修复

- 修复了 Django 3.0 中的一个回归问题，该问题导致在从 `Subquery()` 注释中减去 `DateField`、`DateTimeField` 或 `TimeField` 时崩溃 ([#31133](https://code.djangoproject.com/ticket/31133))。
- 修复了 Django 3.0 中的一个回归问题，该问题导致如果查询集中包含聚合和 `Exists()` 注释，那么 `QuerySet.values()` 和 `values_list()` 会崩溃 ([#31136](https://code.djangoproject.com/ticket/31136))。
- 在 Django 3.0 中放宽了系统检查，允许在 [`LANGUAGE_CODE`](/zh-hans/4.2/ref/settings/#std-setting-LANGUAGE_CODE) 设置中使用子语言，当 Django 中有基本语言可用但子语言不可用时 ([#31141](https://code.djangoproject.com/ticket/31141))。
- 添加了在模板中使用枚举类型 `TextChoices`、`IntegerChoices` 和 `Choices` 的支持 ([#31154](https://code.djangoproject.com/ticket/31154))。
- 修复了一个系统检查，以确保当一个命名组只包含非字符串值时，`max_length` 属性适合最长的选择 ([#31155](https://code.djangoproject.com/ticket/31155))。
- 修复了 Django 2.2 中的一个回归问题，当在 `Subquery` 中使用带有 `filter` 参数的 [`ArrayAgg`](/zh-hans/4.2/ref/contrib/postgres/aggregates/#django.contrib.postgres.aggregates.ArrayAgg) 和 [`StringAgg`](/zh-hans/4.2/ref/contrib/postgres/aggregates/#django.contrib.postgres.aggregates.StringAgg) 时导致崩溃 ([#31097](https://code.djangoproject.com/ticket/31097))。
- 修复了 Django 2.2.7 中的一个回归问题，当覆盖继承的选择项时，导致 [`get_FOO_display()`](/zh-hans/4.2/ref/models/instances/#django.db.models.Model.get_FOO_display) 不正确工作 ([#31124](https://code.djangoproject.com/ticket/31124))。
- 修复了 Django 3.0 中的一个回归问题，该问题导致在具有自定义 `ContentType` 外键的 `GenericForeignKey` 上使用 `QuerySet.prefetch_related()` 时崩溃 ([#31190](https://code.djangoproject.com/ticket/31190))。
