我正在实施基于Google 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 :(得分:3)
如上面的评论中所示,您始终需要调用put()
方法来保存并将更改发送回数据存储区。
在您的示例中,保存更改的正确代码是:
a1.bObjects.remove(b2.key)
a1.put()