Google app engine 属性错误:';列表';对象没有属性';获取';

Google app engine 属性错误:';列表';对象没有属性';获取';,google-app-engine,django-forms,Google App Engine,Django Forms,我使用的是django表单。当我提交表单时,我得到了AttributeError:'list'对象没有属性'get'你知道吗?谢谢 def post(self, id=None): user = self.auth.get_user_by_session() form = IForm(self.request.POST.items()) if form.is_valid(): 更新2 def post(self, id=None): user = self.a

我使用的是django表单。当我提交表单时,我得到了
AttributeError:'list'对象没有属性'get'
你知道吗?谢谢

def post(self, id=None):
    user = self.auth.get_user_by_session()
    form = IForm(self.request.POST.items())

    if form.is_valid():
更新2

def post(self, id=None):
    user = self.auth.get_user_by_session()
    form = IForm(self.request.POST.items())
    if form.is_valid():
        #I(**form.cleaned_data).put()
        k = I()
        k.email = 'test@test.com'
        k.put()
        self.redirect(webapp2.uri_for('list'))
        return self.render_template('test_add.html', **template_values)
更新1

如果我使用
form=IForm(self.request.POST)

然后获取>
用户
输入值列表。

形式

我添加了
required=False
。然后不知道为什么会出错

  File "/home/sandhu/projects/google_appengine/lib/django_1_3/django/forms/widgets.py", line 178, in value_from_datadict
    return data.get(name, None)
AttributeError: 'list' object has no attribute 'get
告诉您在本例中数据是一个列表,当然列表没有任何get()方法。问题在于:

form = IForm(self.request.POST.items())
尝试记录self.request.POST.items()的结果

编辑:
use self.request.POST.items()返回元组列表。你的表单。表单需要一本字典。改用self.request.POST

这不是导致问题的代码。请发布完整的post处理程序。@aschmid00 Ok代码已更新。……请也发布完整的回溯。@aschmid00这里是完整的回溯。谢谢回复:-)我只需打印
self.request.POST.items()
并获取
[('email',u'asdfsdf@gmail.com),('users',u'1')]
这就是问题所在。它返回一个列表。我认为您可以使用self.request.POST而不调用items()。sry没有看到这一点。因此,现在您应该显示self.request.POST发生的错误的完整回溯,因为这对我来说很好。我认为multipleechoicefield需要一个值列表,但您的表单返回单个项。self.request.POST.get('users')的结果是什么?你是对的。如果我使用
self.request.POST.get('users')
>结果
8
。如果我使用“self.request.get_all('users')”>result
[u'1',u'8']
form = IForm(self.request.POST.items())