Python DJANGO:表单中缺少空白选择选项
我有以下资料: MODEL.PYPython DJANGO:表单中缺少空白选择选项,python,django,django-forms,widget,modelform,Python,Django,Django Forms,Widget,Modelform,我有以下资料: MODEL.PY LIST = (('Manager', 'Manager'),('Non-Manager', 'Non-Manager'),) class Employee(models.Model): fname = models.CharField(max_length=15, blank=False, null=False) manager = models.CharField(max_length=15, choices=LIST, blank=Tru
LIST = (('Manager', 'Manager'),('Non-Manager', 'Non-Manager'),)
class Employee(models.Model):
fname = models.CharField(max_length=15, blank=False, null=False)
manager = models.CharField(max_length=15, choices=LIST, blank=True, null=True)
comment = models.TextField(blank=True, null=True)
def __unicode__(self):
return self.fname
class EmployeeForm(forms.ModelForm):
fname = forms.CharField(required=True, label='First Name')
manager = forms.CharField(required=False, widget=Select(choices=LIST), label='Their Position?')
comment = forms.CharField(required=False, widget=forms.Textarea(attrs={'cols': 50, 'rows': 10}), label='Comments')
class Meta:
model = Employee
如果我从EmployeeForm中删除manager,我会在forms下拉菜单中获得一个“-----”选项,但是如果我将manager保留在EmployeeForm中(我需要这样做才能覆盖字段标签),它会删除“-----”。我如何允许EmployeeForm保留“-----”选项?下面的内容如何:
manager = forms.CharField(required=False, widget=Select(choices=(('', '----------'),) + LIST), label='Their Position?')
您需要使用。抱歉,这是一个错误,请参阅更正的问题。因此,我看到了此解决方案。我想我会试试,但我想我想知道为什么如果我把经理从EmployeeForm中删除,默认情况下会给我这个选项?并将其设置为默认选项?当它自动执行时,它知道<代码>空白= true< /Cord>,因此添加了空白选项。如果您自己使用自己的小部件进行操作,那么您需要自己创建正确的选择。没有办法在小部件中设置blank=True吗?对于没有“--------------”选项的MultipleSelect,我也有同样的问题。尽管如此,您为什么要对字符域使用Select小部件?