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 :이 위젯은 HTML로 렌더링 될 때
class UserProfileForm(ModelForm):
class Meta:
model = UserProfile
fields = ('gender')
widgets = {
'gender': forms.RadioSelect(),
}
, 내가 가지고
<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의 대답은 정확하지만 한 가지를 추가하고 싶습니다. 내가 잘못 본게 아니라면, 다음 라인에서 choice = list (chain (self.choices, choices)) chain은 여분의 import가 필요하다 : from itertools import chain –