次のようなフォームがあるとします。
フォーム.py
class CreateASomethingForm(ModelForm):
class Meta:
model = Something
fields = ['field2', 'field3', 'field4']
フォームにこれら 3 つのフィールドが必要です。ただし、私のSomething
クラスにもありますfield1
。私の質問は、データの収集にfield1
を使用していない場合、 にデータを追加するにはどうすればよいかということですModelForm
。私はこのようなことを試みましたが、うまくいかず、これを解決する適切な方法がわかりません:
ビュー.py
def create_something_view(request):
if (request.method == 'POST'):
# Create an object of the form based on POST data
obj = CreateASomething(request.POST)
# ** Add data into the blank field1 ** (Throwing an error)
obj['field1'] = request.user
# ... validate, save, then redirect
私が受け取るエラーは次のとおりです。
TypeError: 'CreateAClassForm' object does not support item assignment
ModelForm
Djangoでは、保存する前にデータをオブジェクトに割り当てる適切な方法は何ですか?