Google app engine 更新实体';属性,而不从NDB检索实体

Google app engine 更新实体';属性,而不从NDB检索实体,google-app-engine,python-2.7,google-cloud-datastore,app-engine-ndb,Google App Engine,Python 2.7,Google Cloud Datastore,App Engine Ndb,我想更新具有许多属性的实体的属性 如果我理解正确,每当我通过 entity = key_of_entity.get() 以稍后更新其属性 entity.some_property += 1 entity.put() 我被指控读取该实体的每一项财产?由于该实体具有相当多的属性,因此反复阅读可能会非常昂贵。是否有任何方法可以更新实体的属性,而不必先对其进行读取 唯一的解决方案是将该实体分为两部分:很少更新和频繁更新。您可以使它们完全独立(一个实体的id作为另一个实体的属性),或者您可以使其中一个

我想更新具有许多属性的实体的属性

如果我理解正确,每当我通过

entity = key_of_entity.get()
以稍后更新其属性

entity.some_property += 1
entity.put()

我被指控读取该实体的每一项财产?由于该实体具有相当多的属性,因此反复阅读可能会非常昂贵。是否有任何方法可以更新实体的属性,而不必先对其进行读取

唯一的解决方案是将该实体分为两部分:很少更新和频繁更新。您可以使它们完全独立(一个实体的id作为另一个实体的属性),或者您可以使其中一个实体为父实体,另一个实体为子实体。

@dreamwalker您还可以为两个不同的实体使用相同的密钥,一个用于读取数据,另一个用于写入数据或最适合您的内容。是的,对此,Andrei表示抱歉。大多数时候,当我可以控制id并且不需要自动生成id时,我都会使用这种方法。我不确定这是否是混乱的一部分,但我的理解是@Jimmy的想法是使用相同的密钥名,但使用两种不同的密钥(因此密钥仍然是唯一的)。@PatrickCostello是的。。。对的ndb的密钥名称等引起了混乱。我们三人的说法都是一样的。