5

给定模型实例,例如 StackOverflow 是模型,并且

 obj = StackOverflow.objects.get(..somecondition)
 dict  = { 'rating' : 3, 'field1' : 'question', field2 : 'answer' }

StackOverflow 模型将字典中可用的所有键作为成员变量。

我想用 dict 值更新 obj 。

我怎样才能达到同样的效果?

4

2 回答 2

9
obj = StackOverflow.objects.get(pk=1)
d  = { 'rating' : 3, 'field1' : 'question', 'field2' : 'answer' }

for i in d:
    setattr(obj, i, d[i])
obj.save()

这将起作用,假设字典键对应于StackOverflow模型中的字段,并且字典值是有效的字段值。

于 2013-10-29T23:32:48.697 回答
2

尝试:

d  = { 'rating' : 3, 'field1' : 'question', 'field2' : 'answer' }
obj = StackOverflow.objects.filter(pk=1).update(**d)

这是 文档

于 2013-10-30T05:31:03.267 回答