0

我實現一個基於谷歌App Engine的Web應用程序。 應用程序使用NDB並且有兩個實體(比如A和B)與一對多的關係通過此屬性,在A級車型中實現刪除關係(谷歌應用程序引擎)

bObjects = ndb.KeyProperty(repeated=True); 

我與關係具有A(A1)的實例B三種情況(B1,B2,B3) 我試圖刪除B2。 爲此我試圖從與A1的關係,執行命令這樣

a1.bObjects.remove(b2.key) 

刪除,但該元素不會被刪除。我究竟做錯了什麼?

+0

只要是明確的,因爲你沒有在你的例子證明這一點。你在幹什麼'''後a1.bObjects.remove(b2.key)'a1.put()? – 2014-10-11 20:15:30

+0

太棒了!我總是必須把它!謝謝! – lowcoupling 2014-10-11 20:17:17

+0

真棒,我會補償一個答案呢。 – 2014-10-11 20:21:14

回答

3

正如你上面的評論指出總是需要調用put()方法來保存併發送更改回數據存儲。

在您的例子正確的代碼保存修改爲:

a1.bObjects.remove(b2.key) 
    a1.put()