在保存表格之前,我在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)

08-16 23:40