Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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
当模型不';我不允许(在django)_Django_Django Models_Django Forms - Fatal编程技术网

当模型不';我不允许(在django)

当模型不';我不允许(在django),django,django-models,django-forms,Django,Django Models,Django Forms,我有一个模型,像这样: class Cert(models.Model): COUNTY_CHOICES = ( ('Choice1', 'Choice1'), ('Choice2', 'Choice2'), ) someField = models.CharField(max_length=12, unique=True) county = models.CharField(max_length=10, choices=C

我有一个模型,像这样:

class Cert(models.Model):
    COUNTY_CHOICES = (
        ('Choice1', 'Choice1'),
        ('Choice2', 'Choice2'),
        )
    someField = models.CharField(max_length=12, unique=True)
    county = models.CharField(max_length=10, choices=COUNTY_CHOICES)
class SearchForm(forms.Form):
    someField = forms.CharField(max_length=12, required=False)
    county = forms.ChoiceField(choices=Cert.COUNTY_CHOICES, required=False)
然后我有一个表格,像这样:

class Cert(models.Model):
    COUNTY_CHOICES = (
        ('Choice1', 'Choice1'),
        ('Choice2', 'Choice2'),
        )
    someField = models.CharField(max_length=12, unique=True)
    county = models.CharField(max_length=10, choices=COUNTY_CHOICES)
class SearchForm(forms.Form):
    someField = forms.CharField(max_length=12, required=False)
    county = forms.ChoiceField(choices=Cert.COUNTY_CHOICES, required=False)

我希望我的搜索表单允许“空白”或“全部”选项,但我不希望我的模型允许它。有没有办法做到这一点,或者我必须创建另一个选择列表?我尝试在表单中不使用它,并尝试添加一个“初始”设置,但这两个设置都没有解决我的问题。

country\u choices
构建另一个选项元组,并在表单中使用它

search_choices = (('', ''),) + Cert.COUNTY_CHOICES

谢谢,行得通。我想可能有一些内置的解决方案(我尝试了required=False,这显然不起作用)。
modelcoocefields
有一个
empty\u label
选项,但在这种情况下,您必须自己做。幸运的是,这并不太棘手;-)看起来这真的是为了映射foreignkey类型的关系。如果我理解这个答案,我想我需要创建一个只包含选项的表(并在queryset中使用该表),但我认为这不是很优雅。我理解正确吗?如果我之前的评论让人困惑,很抱歉。我不是建议你在这种情况下使用模型选择字段。。。这只是一个注释,模型选择字段有一个内置的
空标签
选项,与选择字段不同。将县存储在数据库中有其优点(例如,用户可以更新它们,而不是依赖于您来更改代码),但这与本问题无关。