Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 我的模型字段为我提供值u';0';不是有效的选择错误吗?_Python_Django_Django Models_Django Forms - Fatal编程技术网

Python 我的模型字段为我提供值u';0';不是有效的选择错误吗?

Python 我的模型字段为我提供值u';0';不是有效的选择错误吗?,python,django,django-models,django-forms,Python,Django,Django Models,Django Forms,在视图中foo\u form=FoobazForm(request.POST) 当我执行foo\u form.is\u valid()时,它会给我验证错误u'0'不是一个有效的选择。 我哪里做错了?关于django我所知道的是,它是十年来最不悦耳的软件包名称的候选,所以这是一个猜测: 用户输入字符,而不是整数,因此应使用: FOOBAR = ( (0, 'foo'), (1, 'bar'), ) class Foobaz(models.Model): type = mo

在视图中
foo\u form=FoobazForm(request.POST)
当我执行
foo\u form.is\u valid()
时,它会给我验证错误
u'0'不是一个有效的选择

我哪里做错了?

关于django我所知道的是,它是十年来最不悦耳的软件包名称的候选,所以这是一个猜测:

用户输入字符,而不是整数,因此应使用:

FOOBAR = (
    (0, 'foo'),
    (1, 'bar'),
)

class Foobaz(models.Model):
    type = models.CharField(max_length=1, choices=FOOBAR, \
                                       verbose_name=_('foobar type'))

class FoobazForm(forms.ModelForm):
    class Meta:
    model = Foobaz
        fields = ('type')

更新谷歌是我们的朋友:这是。

在你的
FoobazForm
的内部
Meta
中,你应该在字段定义中使用逗号,否则它不是元组:
字段=('type',)
FOOBAR = (
    ('0', 'foo'),
    ('1', 'bar'),
    )