2014-10-19 34 views
0

我想做一個簡單的數據庫爲基礎的骨幹/木偶應用程序連接到python eve rest api。 示出的形式的模型(標題,內容)後,我編輯內容,並用下面的保存:骨幹模型保存在前夕不工作

this.model.save({title:t_title,content: t_content},{ headers: {'If-Match' : this.model.get("_etag")}}); 

t_title和t_content是從文本字段中的值/輸入。

當我點擊保存按鈕,並調用上面的代碼中,我得到200 OK的PUT,但響應返回的以下錯誤,並沒有更新發生在DB:

{"_status": "ERR", "_issues": {"_updated": "unknown field", "_created": "unknown field", "_id": "unknown field", "_links": "unknown field", "_etag": "unknown field"}} 

還有什麼做我需要做此更新?

+1

我認爲你需要添加的選項(save'的'最後PARAM)'補丁:TRUE'爲模型只發送2場,而不是全部,因爲我看到你的後端模式不知道字段像_updated,_created等 – 2014-10-19 17:46:28

+0

謝謝尤金!這解決了它! – Moon 2014-10-20 00:52:56

+0

我發表了一個答案:-)根據評論 – 2014-10-20 07:54:41

回答

2

問題是,當您撥打save()時,它會發送所有模型字段,但似乎您的服務器端不保存所有模型字段並只接受兩個字段(titlecontent)。對於這種情況,我們可以使用patch: true選項,它將僅通過傳入的屬性向服務器發送HTTP PATCH請求。

這是固定代碼,patch: true添加到選項中。

this.model.save({title:t_title,content: t_content},{ patch: true, headers: {'If-Match' : this.model.get("_etag")}});