2012-02-29 14 views
1

は、私たちはこのようジャンゴ割り当てBoundField値

form = ItemFormAdmin 
value = form['somekey'].value() 

しかし、どのように私はboundfieldに値を割り当てることができますを使用してフォームBoundField値にアクセスすることができることを知っていますか?私はこのよう

form = ItemFormAdmin 
form['somekey'] = value 

を試してみました。しかし、それは意味がありませんBoundFieldに値をAssinging 'ItemForm' object does not support item assignment

答えて

3

言います。フォームはすでに提出されており、ユーザーはあなたに価値を見ません。

cleaned_dataに表示される前にフィールドの値を変更する場合は、somekey_cleanまたはcleanメソッドをオーバーライドします。

あなたがこの(フォームの__init__で)を使用する(入力にフォームが送信される前に、何かを)初期値を設定したい場合は

form.fields['somekey'].initial = value 

編集1

class MyForm(forms.Form): 
# ... 

    def clean(self): 
     cleaned_data = super(MyForm, self).clean() 

     # get "some info from the form" 
     part1 = cleaned_data.get('part1_field', '') 
     part2 = cleaned_data.get('part2_field', '') 

     # "manipulate it to fill another filed" 
     cleaned_data['another_field'] = part1 + part2 

     return cleaned_data 
+1

私は値を設定したいですsubmissionの後でsave()メソッドの前にこれを行う方法の例を挙げてください。現在私は 'save_model()'メソッドでそれをやっています。アイデアは、私はフォームからいくつかの情報を取得し、提出する前に同じフォームの別のフィールドを埋めるためにそれを操作する必要があります。 –

+0

@HaikalNashuha私の編集を参照してください – DrTyrsa

+0

それは動作します!最後は数時間後! –