2010-07-30 18 views
2

Quelqu'un peut-il m'aider ici?Comment remplacer une valeur par défaut d'un formulaire?

Ma forme ressemble à ceci:

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

Maintenant, je dois définir une valeur par défaut pour mon purchaseorderline qui est à l'origine un ModelChoice, mais je redéfinie comme IntegerField parce que je prévois de le cacher si que chaque fois que j'obtiendrai ses données, il retournera un entier et non un objet. Quoi qu'il en soit, j'ai besoin de savoir comment remplacer la valeur par défaut de celui-ci. Dois-je utiliser le __init__? Mon problème là est que, je ne sais pas comment remplacer la valeur par défaut après qu'il a été défini. Aucune suggestion? z

Répondre

3

Vous devriez être en mesure de mettre cela dans la déclaration en utilisant le paramètre inital:

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

Si vous avez besoin de le faire de façon dynamique, puis fournir comme un dictionnaire lorsque vous créez votre formulaire dans la vue :