开发者

How do I override a default value of a form?

开发者 https://www.devze.com 2023-01-09 18:06 出处:网络
Can someone help me here? My form looks like this: class RecieveLineForm(forms.ModelForm): purchaseorderline = forms.IntegerField(widget=forms.HiddenInput())

Can someone help me here?

My form looks like this:

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

Now, I need to set a default value for my purchaseorderline which is originally a ModelChoice, but I overridden it as IntegerField because I'm planning to hide it so that whenever I get its data, it will return an integer and not an Object. Anyway, I need to know how to override the default value of it. Must I use the __init__开发者_高级运维? My problem there is that, I don't know how to override the default value after it's been set. Any suggestions? z


You should be able to set this in the declaration using the inital parameter:

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

If you need to do it dynamically, then provide it as a dictionary when you create your form in the view:

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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号