In my views.py
我在保存表单之前分配值。我以前是按以下方式做的:
projectForm.lat = session_results['lat']
projectForm.lng = session_results['lng']
现在,由于变量列表有点长,我想循环session_results
使用以下循环(如 Adam 所描述的here https://stackoverflow.com/questions/8454000/django-save-cleaned-data-in-a-session-effectively):
for k,v in session_results.iteritems():
projectForm[k] = v
但我得到了错误'Project' object does not support item assignment
为循环解。我很难理解为什么。Project
是模型类,我将其用于 ModelForm。
感谢您的帮助!
错误似乎很明显:模型对象不支持项目分配。MyModel.objects.latest('id')['foo'] = 'bar'
会抛出同样的错误。
您的模型实例被称为有点令人困惑projectForm
...
要在循环中重现第一个代码块,您需要使用setattr
for k,v in session_results.iteritems():
setattr(projectForm, k, v)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)