Например, у меня есть такая модель:
class Item(models.Model):
TYPE_CHOICES = (
(1, _('type 1')),
(2, _('type 2')),
)
type = models.PositiveSmallIntegerField(max_length=1, choices=TYPE_CHOICES)
А для формы у меня:
class ItemModelForm(forms.ModelForm):
class Meta:
model = Item
widget = {
'type': forms.RadioSelect(),
}
Я бы хотел иметь радио-выбор с двумя вариантами («тип 1» и «тип 2»). Однако у меня будет 3 варианта: «----- ---- "," тип 1 "и" тип 2 "." --------- "для" Нет ", я думаю, но поле" тип "обязательно в модели, почему вариант «Нет» все еще отображается?
Но если я воспользуюсь формой:
class ItemForm(forms.Form):
type = forms.ChoiceField(widget=forms.RadioSelect(), choices=Item.TYPE_CHOICES)
у меня будет только 2 варианта: «тип 1» и «тип 2», что правильно.
Я бы хотел использовать ModelForm вместо стандартной формы, но не знаю, как удалить "---------". Кто-нибудь может мне помочь? Спасибо.
ОБНОВЛЕНИЕ: Спасибо, ребята, только что нашел что на него был дан ответ здесь .
Похоже, мне придется отменить либо тьфу ld или метод ModelForm.