为什么在尝试设置列表中包含的模型对象的字段值时,该值不会被设置,但是当我将该索引处的对象存储到变量中时,然后尝试改变它,我成功了吗?以下是我的意思的一个例子。
In [64]: profile[0].screen_name = "clutch"
In [65]: profile[0].screen_name
In [66]: p = profile[0]
In [67]: p.screen_name = "clutch"
In [68]: p.screen_name
Out[68]: 'clutch'
答案 0 :(得分:1)
我的猜测是你的情况下的个人资料不是一个列表而是一个QuerySet。因此,每次对其进行索引时,它都会对数据库执行查询以获取对象。
在您的代码之前尝试此操作:
profile = list(profile)
这样查询就会执行,结果现在在列表中。