1. ホーム
  2. python

[解決済み] DjangoでBooleanFieldのデフォルト値としてTrueを設定する方法は?

2022-07-31 12:53:35

質問

私は BooleanField を Django で使っています。

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

どのように解決するのですか?

バニラフォーム(モデルフォームではない)を使っているだけなら、フィールドの初期値( https://docs.djangoproject.com/en/2.2/ref/forms/fields/#django.forms.Field.initial ) のように設定します。

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

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

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

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

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