2010-07-30 4 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

Вы должны быть в состоянии установить это в декларации с помощью щёток параметра:

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

Если вам нужно сделать это динамически, то обеспечить его в качестве словаря при создании формы в представлении :

initial_values = {'purchaseorderline': 37} 
form = ReceiverLineForm(initial=initial_values) 
Смежные вопросы