python - 对象不支持项目分配错误

标签 python django loops dictionary

在我的 views.py 中,我在保存表单之前分配了值。我以前是这样做的:

projectForm.lat = session_results['lat']
projectForm.lng = session_results['lng']

现在,由于变量列表有点长,我想使用以下循环遍历 session_results(如 Adam here 所述):

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)

关于python - 对象不支持项目分配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8542343/

相关文章:

python - 将正则表达式应用于 pandas 数据框列

django - 哪些是最好的免费Web托管实践Django部署的主机?

python - 如果在 for 循环中,如何在单行中使用 "continue"

ios - APNS 推送通知未传送到*某些*设备

python - Python 中的连接顺序错误并覆盖部分字符串

excel - 循环不打开 PDF...所以复制/粘贴到 Excel 失败(我认为)

python - Django 完整性错误处理

python - 如何将数据框附加到现有的 Excel 工作表?

python - 如何从初始 URL python 构造 URL

django - 重写 django 中的 UserManager