回答編集履歴
1
回答の詳細を追加
answer
CHANGED
@@ -9,9 +9,9 @@
|
|
9
9
|
Djangoでは、サーバーサイド側のバリデーションにもForm(ModelForm)が利用されます。
|
10
10
|
(汎用ビューを利用すると、そのあたりの仕組みが見えなくてイメージしにくいですが・・・)
|
11
11
|
|
12
|
-
サーバーサイドで、バリデーションを行う場合、Postで送られてきたデータをもとに、Form(ModelForm)インスタンスを再度生成します。これを、データが結びつけられたフォーム(bound form)と呼びます。
|
12
|
+
サーバーサイドで、バリデーションを行う場合、Postで送られてきたデータをもとに、**Form(ModelForm)インスタンスを再度生成(←イメージしにくい部分です)**します。これを、データが結びつけられたフォーム(bound form)と呼びます。
|
13
13
|
|
14
|
-
bound formの場合、Formでは、バリデーションの実行(is_valid()の実行)と、バリデーションが正常に終われば、クリーニングされたデータ(cleaned_data)を
|
14
|
+
bound formの場合、Formでは、バリデーションの実行(is_valid()の実行)と、バリデーションが正常に終われば、クリーニングされたデータ(cleaned_data)を取り出せますが、ModelFormでは、それに加えて、Modelに直接save()することができます。
|
15
15
|
|
16
16
|
単一のモデルに関するFormを作るのであれば、ModelFormが便利だと思います。
|
17
17
|
|