尝试在动态选择循环前添加默认选项('', 'Select Type')
。
form.py
card_choices = [(c.id, c.name) for c in Payment.objects.filter(id=id)]
payment = forms.ChoiceField(required=True, label='Type', choices=card_choices)
template.html
{{ form.payment }}
会生成这个:
<option value="1" selected="selected">VISA</option>
<option value="2">Amex</option>
<option value="3">Mastercard</option>
<option value="4">Discover</option>
寻找:
<option value="" selected="selected">Select Type</option>
<option value="1">VISA</option>
<option value="2">Amex</option>
<option value="3">Mastercard</option>
<option value="4">Discover</option>
答案 0 :(得分:1)
您可以将此值放在选择元组中的第一位:
payment = forms.ChoiceField(required=True, label='Type',
choices=[(None, 'Select Type')]+card_choices)