Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python DJANGO:表单中缺少空白选择选项_Python_Django_Django Forms_Widget_Modelform - Fatal编程技术网

Python DJANGO:表单中缺少空白选择选项

Python 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

我有以下资料:

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=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小部件?