230226_08_forms.ModelForm を使った、モデルインスタンスの新規作成

この講座は限定公開です

この動画は、購入/定額コースでの利用はできません。

forms.ModelForm を使ったモデルインスタンスの新規作成の話をします。

forms.Form と同様に、まずは、 is_valid メソッドを実行します。
この段階で、モデルインスタンスが form.instance 属性として得られます。
このインスタンスについて、フォームのフィールドで設定されなかった属性については、必要に応じて設定します。

やり方は、2つあります。
[a] form.instance の属性を直接変更してから form.save メソッドを実行する
[b] instance = form.save(commit=False) として、戻り値の instance の属性を編集し、その後、 instance.save メソッドを実行する。

[b] の方法では、 ManyToMany フィールドの値は保存されないので注意してください。
ManyToMany フィールドについては、instance.save メソッド実行後 form.save_m2m メソッドを改めて実行する必要があります。

この講座を含む定額コースに参加するか、この講座を購入することで、講座を利用できるようになります。
定額コースに参加すると、そのコースの利用期間中はいつでも講座を利用できます。
講座を購入すると、いつでも講座を利用できます。

このページへの投稿/コメント

この講座は限定公開です

この動画は、購入/定額コースでの利用はできません。

学習記録としてメモを残す

重要度:   
理解度:   

※メモを残すにはこの講座の利用権限が必要です。