使用 PATCH 恢复 soft_delete 导致 422 未知字段“_deleted”

Restoring soft_delete using PATCH results in 422 unknown field "_deleted"

在 python-eve 0.6 中使用 soft_deletes 并设置一个函数来恢复删除,但我得到一个 422(无法处理的实体)错误 {"_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);
};

_etag_updated_created 字段一样,_deleted 是由 Eve 管理的特殊元字段。客户不应该直接编辑该字段,您也不需要为了恢复软删除的文档而这样做。对软删除文档发出的有效 PATCH(或 PUT)请求会自动恢复文档,Eve 会相应地更新 _deleted 字段。只需从您的 PATCH 请求中删除 '_deleted': false,文档就会按预期恢复。