Django の BooleanField のデフォルト値を True に設定するにはどうすればいいですか? 質問する

Django の BooleanField のデフォルト値を True に設定するにはどうすればいいですか? 質問する

Djangoで使用していますBooleanField

デフォルトでは、これによって生成されるチェックボックスはチェックされていない状態です。デフォルトでチェックされた状態にしたいのですが、どうすればよいですか?

ベストアンサー1

バニラフォーム(ModelFormではない)を使用している場合は、フィールドの初期値(https://docs.djangoproject.com/en/2.2/ref/forms/fields/#django.forms.Field.initial) のように

class MyForm(forms.Form):
    my_field = forms.BooleanField(initial=True)

ModelFormを使用している場合は、モデルフィールドにデフォルト値を設定できます(https://docs.djangoproject.com/en/2.2/ref/models/fields/#default)は、結果として得られるModelFormに適用されます。

class MyModel(models.Model):
    my_field = models.BooleanField(default=True)

最後に、フィールドがデフォルトで選択されるかどうかを実行時に動的に選択したい場合は、フォームの初期パラメータを使用して、初期化する:

form = MyForm(initial={'my_field':True})

おすすめ記事