... s on a CharField . Changed in Django 6.1: The default blank label was changed from "---------" to "- Select an option -" . 列挙型 ¶ さらに Django には、選択肢を簡潔に定義するためにサブクラス化できる列挙型があります: from django.utils.translation import ... YearInSchool . SENIOR , } これらはPythonの標準ライブラリの enum と似たような動作をしますが、若干の変更が加えられています: 列挙型のメンバ値は、具象データ型を構築するときに使う引数のタプルです。Django はこのタプルの末尾に、人間が読める名前、つまり label ... でない場合、 label はメンバー名から 自動的に生成 されます。 値には .label プロパティが追加され、人間が読める名前を返します。 列挙型クラスには、 .choices , .labels , .values , .names などのカスタムプロパティが追加されており、これらの列挙型の異なる部分のリス ... ... s on a CharField . Changed in Django 6.1: The default blank label was changed from "---------" to "- Select an option -" . 列挙型 ¶ さらに Django には、選択肢を簡潔に定義するためにサブクラス化できる列挙型があります: from django.utils.translation import ... YearInSchool . SENIOR , } これらはPythonの標準ライブラリの enum と似たような動作をしますが、若干の変更が加えられています: 列挙型のメンバ値は、具象データ型を構築するときに使う引数のタプルです。Django はこのタプルの末尾に、人間が読める名前、つまり label ... でない場合、 label はメンバー名から 自動的に生成 されます。 値には .label プロパティが追加され、人間が読める名前を返します。 列挙型クラスには、 .choices , .labels , .values , .names などのカスタムプロパティが追加されており、これらの列挙型の異なる部分のリス ... ... AGE_CODE のサブ言語を利用できるように Django 3.0 で追加されたシステムチェックの設定を緩めました ( #31141 )。 テンプレートで列挙型 TextChoices 、 IntegerChoices 、そして Choices が使えるようになりました ( #31154 )。 名前付きグループが非文字列の値しか含ま ... ... AGE_CODE のサブ言語を利用できるように Django 3.0 で追加されたシステムチェックの設定を緩めました ( #31141 )。 テンプレートで列挙型 TextChoices 、 IntegerChoices 、そして Choices が使えるようになりました ( #31154 )。 名前付きグループが非文字列の値しか含ま ... ... フィールド用) により、値を宣言する際の柔軟性が向上しました。以前のバージョンの Django では、 choices は 2 タプルのリストか、 列挙型 のサブクラスである必要がありましたが、後者の場合、 .choices 属性にアクセスして、期待される形式で値を提供する必要がありまし ... ices = SPORT_CHOICES ) Django 5.0 では、イテラブルの代わりにマッピングまたは呼び出し可能なものが受け入れられるようになり、 列挙型 を直接展開することで、 .choices の使用が不要になりました。 from django.db import models Medal = models . TextChoices ( "Me ... ... フィールド用) により、値を宣言する際の柔軟性が向上しました。以前のバージョンの Django では、 choices は 2 タプルのリストか、 列挙型 のサブクラスである必要がありましたが、後者の場合、 .choices 属性にアクセスして、期待される形式で値を提供する必要がありまし ... ices = SPORT_CHOICES ) Django 5.0 では、イテラブルの代わりにマッピングまたは呼び出し可能なものが受け入れられるようになり、 列挙型 を直接展開することで、 .choices の使用が不要になりました。 from django.db import models Medal = models . TextChoices ( "Me ... ... DIRECTION_DOWN = "D" DIRECTION_CHOICES = { DIRECTION_UP : "Up" , DIRECTION_DOWN : "Down" , } Alternatively, consider using 列挙型 : class MyModel ( models . Model ): class Direction ( models . TextChoices ): UP = "U" , "Up" DOWN = "D" , "Down" Use of d ... ... DIRECTION_DOWN = "D" DIRECTION_CHOICES = { DIRECTION_UP : "Up" , DIRECTION_DOWN : "Down" , } Alternatively, consider using 列挙型 : class MyModel ( models . Model ): class Direction ( models . TextChoices ): UP = "U" , "Up" DOWN = "D" , "Down" Use of d ... ... ないユーザー(デフォルトのハッシュアルゴリズムが実行されます)に対するログインリクエストにかかる時間の差に起因する、ユーザー列挙型タイミング攻撃に対して脆弱になる可能性があることに注意してください。 古いパスワードハッシュの更新 によりこれを軽減できます。 ... ... ィールドが blank=False の場合は、そのフィールドへの入力は必須となります。 choices 2 値タプルの sequence , もしくは mapping , 列挙型 , または呼び出し可能オブジェクト (引数を指定せず、前述の形式のいずれかを返す) をこのフィールドの選択肢として使用します。こ ... = "Fred Flintstone" , shirt_size = "L" ) >>> p . save () >>> p . shirt_size 'L' >>> p . get_shirt_size_display () 'Large' 列挙型クラスを用いて、 choices を簡潔に定義することもできます。 from django.db import models class Runner ( models . Model ): Meda ... 2026年10月08日