我是新来的,我试图对模型进行部分更新。 我得到一个包含以下字段的ajax请求:
{"object":modelToBeUpdated,
"id":ObjectIdToBeUpdated,
"field":fieldOfTheObjectToBeUpdated,
"value":theValue}
我不知道如何在补丁或更新视图中使用它...任何建议?
答案 0 :(得分:0)
如果您知道应用名称,则可以使用get_model
中的from 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()