给定模型实例,例如StackOverflow是模型, 和
obj = StackOverflow.objects.get(..somecondition)
dict = { 'rating' : 3, 'field1' : 'question', field2 : 'answer' }
StackOverflow模型将dict中可用的所有键都作为成员变量。
我想用dict值更新obj。
我怎样才能达到同样的目标?
答案 0 :(得分:1)
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
模型中的字段,字典值是有效字段值。
答案 1 :(得分:0)
尝试:
d = { 'rating' : 3, 'field1' : 'question', 'field2' : 'answer' }
obj = StackOverflow.objects.filter(pk=1).update(**d)
以下是doc