在python-eve 0.6中使用soft_deletes并设置一个函数来恢复删除,但我得到一个带有错误的422(UNPROCESSABLE ENTITY)
{"_status": "ERR", "_issues": {"_deleted": "unknown field"}}
这是来自GET的json响应
{
"_updated": "Tue, 02 Jun 2015 23:58:50 GMT",
"_latest_version": 2,
"_error": {
"message": "The requested URL was not found on this server.",
"code": 404
},
"title": "Kimberli Dygert",
"_version": 2,
"_deleted": true,
"_links": {
"self": {
"href": "items\/556cdaf4ee67bd0717181826",
"title": "item"
}
},
"_created": "Mon, 01 Jun 2015 22:21:40 GMT",
"_status": [
"ERR"
],
"_id": "556cdaf4ee67bd0717181826",
"_etag": "d48684051f506ea70590682d1705f18a74faea2f"
}
我正在使用的函数尝试恢复soft_delete
this.restore = function (id, etag) {
var req = {
method: 'PATCH',
url: urlBase + '/' + id,
headers: {
//'Content-Type': 'application/json',
'If-Match': etag
},
data: { '_deleted': false }
};
return $http(req);
};
答案 0 :(得分:2)
与_etag
或_updated
和_created
字段类似,_deleted
是由Eve管理的特殊元字段。客户端不应直接编辑该字段,您无需为了还原软删除的文档。对软删除文档发出的有效PATCH(或PUT)请求会自动恢复文档,Eve会相应地更新_deleted
字段。只需从PATCH请求中删除'_deleted': false
,文档就会按预期恢复。