Google app engine 获取错误消息输入值列表(使用django表单进行验证)

Google app engine 获取错误消息输入值列表(使用django表单进行验证),google-app-engine,django-forms,Google App Engine,Django Forms,我正在使用multipleechoicefield,并且已经提到required=False。那么为什么会出现此错误用户名:输入值列表 def get_my_choices(): users = User.query() choices_list = [(x.key.id(), x.email) for x in users] return choices_list class MyForm(forms.Form): username = forms.MultipleChoic

我正在使用
multipleechoicefield
,并且已经提到
required=False
。那么为什么会出现此错误
用户名:输入值列表

def get_my_choices():
  users = User.query()
  choices_list = [(x.key.id(), x.email) for x in users]
  return choices_list

class MyForm(forms.Form):
  username = forms.MultipleChoiceField(required=False, choices=get_my_choices())

我做错什么了吗?谢谢:-)

您只想返回一个选项,但您使用的是MultipleChiceField


如果您将其更改为ChoiceField,它将起作用。

实现一个Widgetclass,它知道如何从多值DICT获取数据:

class SelectMultiple(forms.widgets.SelectMultiple):
def value_from_datadict(self, data, files, name):
    try:
        return data.getall(name)
    except:
        return data.get(name, None)
并将其传递给字段构造函数:multipleechoicefield(widget=SelectMultiple)
对字段使用item_type=unicode。

field=db.ListProperty(项类型=unicode,选项=…)

资料来源: