【发布时间】:2011-09-14 17:10:33
【问题描述】:
例如,我有一个这样的模型:
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 个选项(“type 1”和“type 2”)的单选。但是,我将有 3 个选项,“------”、“类型 1”和“类型 2”。 “---------”我认为是“无”,但模型中需要“类型”字段,为什么“无”选项仍然出现?
但如果我改用表单:
class ItemForm(forms.Form):
type = forms.ChoiceField(widget=forms.RadioSelect(), choices=Item.TYPE_CHOICES)
我将只有 2 个选项,“类型 1”和“类型 2”,这是正确的。
我想在标准表单上使用 ModelForm,但不知道如何删除“---------”。有人可以帮助我吗?谢谢。
更新: 谢谢各位,刚刚发现已经回复here了。
看来我必须覆盖 ModelForm 的 field 或 method。
【问题讨论】:
标签: django django-models django-forms