如何为休息中的部分更新创建更新视图

时间:2014-05-21 16:04:09

标签: django rest view patch

我是新来的,我试图对模型进行部分更新。 我得到一个包含以下字段的ajax请求:

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

我不知道如何在补丁或更新视图中使用它...任何建议?

1 个答案:

答案 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()