Django 3.0.3 リリースノート¶
February 3, 2020
Django 3.0.3 では、3.0.2 にあった1つのセキュリティの問題といくつかのバグを修正しました。
CVE-2020-7471: StringAgg(delimiter) を通じた潜在的 SQL インジェクション¶
StringAgg 集計関数には、適切に加工された delimiter を使った SQL インジェクションが存在しました。
Bugfixes¶
Subquery()アノテーションからDateField、DateTimeField、あるいはTimeFieldを抽出したときにクラッシュするという Django 3.0 のリグレッションを修正しました (#31133)。- クエリセットに集計か
Exists()アノテーションが含まれる場合に、QuerySet.values()とvalues_list()がクラッシュするという Django 3.0でのリグレッションを修正しました (#31136)。 - Django にベース言語があるがサブ言語がない場合でも、
LANGUAGE_CODEのサブ言語を利用できるように Django 3.0 で追加されたシステムチェックの設定を緩めました (#31141)。 - テンプレートで列挙型
TextChoices、IntegerChoices、そしてChoicesが使えるようになりました (#31154)。 - 名前付きグループが非文字列の値しか含まない場合でも
max_length属性が最長の選択に合致するようなチェックを修正しました (#31155)。 Subqueryを利用した際、filter引数のあるArrayAggとStringAggがクラッシュする Django 2.2 のリグレッションを修正しました (#31097)。- 継承された選択をオーバーライドしたときに
get_FOO_display()が正しく動かなくなる Django 2.2.7 のリグレッションを修正しました (#31124)。 - カスタム
ContentType外部キーを持つGenericForeignKeyに対する``QuerySet.prefetch_related()`` がクラッシュする Django 3.0 のリグレッションを修正しました (#31190)。