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