Например, у меня есть модель, подобная этой:
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(),
}
Я хотел бы иметь радио-выбор с2 варианта («тип 1» и «тип 2»).Тем не менее, у меня будет 3 варианта, «---------», «тип 1» и «тип 2».Я думаю, «---------» для «Нет», но в модели необходимо указать поле «тип». Почему опция «Нет» все еще отображается?
Ноесли я вместо этого использую форму:
class ItemForm(forms.Form):
type = forms.ChoiceField(widget=forms.RadioSelect(), choices=Item.TYPE_CHOICES)
У меня будет только 2 варианта, «тип 1» и «тип 2», что правильно.
Я бы хотел использовать ModelForm поверхСтандартная форма, но не знаю, как удалить «---------».Кто-нибудь может мне помочь?Спасибо.
ОБНОВЛЕНИЕ: Спасибо, ребята, только что нашли ответ на этот вопрос здесь .
Похоже, мне придется переопределить либо поле или метод из ModelForm.