0

モデルに問題があります。たとえば、

fallBack = models.CharField(max_length=100, choices=FALLBACK,  default = 99,blank = True,null = True)
FALLBACK = (
    (u'99','-'),
    (u'standard', u'Standard TPF deactivation/exlusion applies'),
    (u'fallback', u'Fallback script provided'),
    (u'na',u'N/A'),
    (u'other',u'Other'),
    )

テンプレートで使用する場合

{% for obj in form.forms %}
    {{obj.fallBack}}
{% endfor %}

このようなものが返されます

<select name="form-0-fallBack" id="id_form-0-fallBack">
    <option value="">---------</option>
    <option value="99" selected="selected">-</option>
    <option value="standard">Standard TPF deactivation/exlusion applies</option>
    <option value="fallback">Fallback script provided</option>
    <option value="na">N/A</option>
    <option value="other">Other</option>
</select>

しかし、私はこのようなものを作りたいです:

<select **onchange="javascript:make()"** name="form-0-fallBack" id="id_form-0-fallBack">
    <option value="">---------</option>
    <option value="99" selected="selected">-</option>
    <option value="standard">Standard TPF deactivation/exlusion applies</option>
    <option value="fallback">Fallback script provided</option>
    <option value="na">N/A</option>
    <option value="other">Other</option>
</select>

どうやってするか ??{{obj.fallBack}}の代わりにこの2番目のオプションをテンプレートに書き込むことはできますが、formset.is_valid()が機能せず、次のようになります。

1)I will choose from fallBack second option(Standard TPF deactivation/exlusion applies) 
2) submit,
3) I have some error in other place in template 
4) Then my obj.fallBack returning to default option (99 , -) 

手伝ってくれてありがとう

4

2 に答える 2

0

のdjangoドキュメントをチェックしてくださいWidgets

widget=forms.Select(attrs={'onchange': 'javascript:make()'})

これはのように見えます。ModelFormsModelFormのウィジェットを指定する方法を確認してください

于 2012-09-27T11:01:44.837 に答える
0

OKだから、この属性でcharfieldの代わりに新しいFieldを作成します

widget=forms.Select(attrs={'onchange': 'javascript:make()'})

手伝ってくれてありがとう

于 2012-09-27T13:45:34.887 に答える