【发布时间】:2016-06-09 16:41:49
【问题描述】:
根据我在文档中阅读的内容,将实体放入数据存储区后无法更改实体的父级。但我正在寻找一种在此之前(但在创建之后)更改父级的方法。所以不要这样:
John = Student(parent=BlueClassroom.key, name="John", last_name="Smith")
John.put()
我正在寻找这样的东西:
John = Student(name="John", last_name="Smith")
John.parent = BlueClassroom.key
John.put()
现在,第一个有效,但第二个无效(它只是忽略了第二行)。我也尝试过使用填充,但这仅适用于常规属性。有没有办法做到这一点?
【问题讨论】:
-
语句
John.parent = BlueClassroom.key没有更改密钥,它只是将一个名为parent的新属性添加到实体John。您的第一个示例是设置密钥父级的正确方法,当您知道父级时为什么不使用它? -
因为我不知道那个阶段的父母是什么,那是在另一个函数中确定的。我可能应该重新安排所有内容,以便可以在一个地方完成,但我想知道是否有办法像现在这样。
标签: python google-app-engine google-cloud-datastore app-engine-ndb