我在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