我在Django 1.3上使用ModelForm。如何擺脫由Django表單RadioSelect生成的假選擇
models.py:
class UserProfile(models.Model):
...
gender = models.CharField(max_length=1, blank=True, choices=(('M', 'Male'), ('F', 'Female'), ('Unspecified', '')), default='M')
...
forms.py:
class UserProfileForm(ModelForm):
class Meta:
model = UserProfile
fields = ('gender')
widgets = {
'gender': forms.RadioSelect(),
}
當這個widget被渲染成HTML,我
<ul>
<li><label for="id_gender_0"><input type="radio" id="id_gender_0" value="" name="gender" />---------</label></li>
<li><label for="id_gender_1"><input checked="checked" type="radio" id="id_gender_1" value="M" name="gender" /> Male</label></li>
<li><label for="id_gender_2"><input type="radio" id="id_gender_2" value="F" name="gender" />Female</label></li>
<li><label for="id_gender_3"><input type="radio" id="id_gender_3" value="" name="gender" /> Unspecified</label></li>
</ul>
問題: 哪有我擺脫了「--------」這個虛假選擇?
同樣的問題是由另一個stackoverflow用戶在幾個月前提出的(Here)。我嘗試了在那裏接受的解決方案(正如你所看到的),但那對我並不起作用。
NickJ的答案似乎是正確的,但我想補充一件事。如果我沒有弄錯,在下面的行選擇=列表(鏈(self.choices,選擇))鏈需要額外的進口:從itertools進口鏈 – 2012-04-02 03:22:00