2014-05-21 58 views
1

Im新的休息和即時嘗試進行模型的部分更新。 我得到了這些領域的Ajax請求:如何爲靜態部分更新創建更新視圖

{"object":modelToBeUpdated, 
"id":ObjectIdToBeUpdated, 
"field":fieldOfTheObjectToBeUpdated, 
"value":theValue} 

我不知道如何在補丁或更新視圖中使用它...有什麼建議?

回答

0

如果您知道應用程序名稱,您可以使用get_modelfrom django.db.models.loading import get_model

from django.db.models.loading import get_model 

json = {"object":modelToBeUpdated, 
     "id":ObjectIdToBeUpdated, 
     "field":fieldOfTheObjectToBeUpdated, 
     "value":theValue} 

model = get_model("appname", json["object"]) 

model.objects.filter(pk=json["id"]).update(**{json["field"]: json["value"]}) 

雖然我還沒有測試過。

你也許還做這樣的事情:

object = model.objects.get(pk=json["id"]) 
setattr(object, json["field"], json["value"]) 
object.save() 
+0

但我不是用在這裏休息... – user3661649