【发布时间】:2014-07-10 09:43:11
【问题描述】:
我是新来的,正在尝试对模型进行部分更新。 我收到一个包含以下字段的 ajax 请求:
{"object":modelToBeUpdated,
"id":ObjectIdToBeUpdated,
"field":fieldOfTheObjectToBeUpdated,
"value":theValue}
我不知道如何在补丁或更新视图中使用它...有什么建议吗?
【问题讨论】:
我是新来的,正在尝试对模型进行部分更新。 我收到一个包含以下字段的 ajax 请求:
{"object":modelToBeUpdated,
"id":ObjectIdToBeUpdated,
"field":fieldOfTheObjectToBeUpdated,
"value":theValue}
我不知道如何在补丁或更新视图中使用它...有什么建议吗?
【问题讨论】:
如果您知道应用名称,则可以使用from django.db.models.loading import get_model 中的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()
【讨论】: