3

現在、私は次のようなものを使用しています:

initialValues={
    'textField1':'value for text field 1',
    'textField2':'value for text field 2',
    'imageField': someModel.objects.get(id=someId).logo
    }

form = myForm(initial=initialValues)

上記のように myForm を呼び出すと、初期値が期待どおりに表示されます: textField1、textField2、および imageField (現在: linkToImage、Clear チェック ボックス、および Change: のオプションを使用)

しかし、フォームを保存すると、imageField フィールドには何も保存されません (データベースを確認すると、imageField フィールドが空白になっています)。

ここで何かが足りないことはわかっていますが、何がわからないのですか。任意のヒント?

4

2 に答える 2

2

割り当てることで問題を解決しました

request.FILES['imageField']=someModel.objects.get(id=someId).logo

フォームを保存する直前。イーイ

于 2012-02-03T19:54:15.490 に答える
0

フォームを作成するときに、データをフォームに渡す必要があります。

initialValues={
    'textField1':'value for text field 1',
    'textField2':'value for text field 2',
    'imageField': someModel.objects.get(id=someId).logo
    }
form = myForm(data=request.POST, initial=initialValues)

まだ行っていない場合は、クラスベースのビューを使用することをお勧めします。FormViewを使用すると、 get_initial_data() 関数を簡単にオーバーライドし、値を指定してから、フォームに渡してフォームを保存する他のものをビューに任せることができます。モデルを保存しようとしている場合 (私はそうだと思います)、CreateView と UpdateView をチェックしてください。

そのフォームをどのように/いつ初期化したかを正確に知っていれば、この答えについてより確実になる可能性があります。

于 2012-01-28T10:12:00.910 に答える