2010-07-30 210 views
2

有人可以幫我嗎?如何覆蓋表單的默認值?

我的形式如下:

class RecieveLineForm(forms.ModelForm): 
    purchaseorderline = forms.IntegerField(widget=forms.HiddenInput()) 
    rl_quantity = forms.IntegerField(label='Quantity') 
    class Meta: 
     model = RecieveLine 

現在,我需要爲我的purchaseorderline默認值是原本是ModelChoice,但我重寫它作爲IntegerField,因爲我正打算隱藏,這樣每當我得到它的數據時,它將返回一個整數而不是一個對象。無論如何,我需要知道如何覆蓋它的默認值。我必須使用__init__?我的問題在於,我不知道如何在設置後覆蓋默認值。有什麼建議麼? ž

回答

3

您應該能夠使用inital參數來設置這個宣言:

class RecieveLineForm(forms.ModelForm): 
    purchaseorderline = forms.IntegerField(widget=forms.HiddenInput(), initial=37) 

如果您需要動態地做到這一點,那麼將它作爲一本字典,當你在視圖中創建窗體:

initial_values = {'purchaseorderline': 37} 
form = ReceiverLineForm(initial=initial_values)