Django 3.0.3 リリースノート¶
2020年2月3日
Django 3.0.3 では、セキュリティの問題1件と 3.0.2 におけるいくつかのバグを修正しました。
CVE-2020-7471: StringAgg(delimiter) を通じた潜在的 SQL インジェクション¶
StringAgg 集計関数には、適切に加工された delimiter を使った SQL インジェクションが存在しました。
バグ修正¶
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)。