2013-10-29 60 views
1

鑑於模型實例,例如StackOverflow的是模型, 和如何從字典值

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

StackOverflow的模型具有所有可用的int字典作爲成員變量鍵更新現有的模型實例。

我想用dict值更新obj。

我怎樣才能達到相同?

回答

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示範田,和字典值有效的字段值。

0

嘗試:

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

這裏是doc