2012-03-15 91 views

回答

2

this可能会帮助你。

从文档:

要指定一个实体的父,创造子实体时使用父参数模型 类的构造函数。这个参数的值可以是父实体本身或其关键字;您可以通过调用父实体的key()方法来获取密钥 。下面的示例 创建一种地址的实体,并显示指定的 Employee实体作为其父的方法有两种:

#Create Employee entity 
employee = Employee() 
employee.put() 

#Set Employee as Address entity 's parent directly... 
address = Address(parent=employee) 

# ...or using its key 
e_key = employee.key() 
address = Address(parent=e_key) 

# Save Address entity to datastore 
address.put()​ 
2

在数据存储区可以可选地具有一个父实体的实体; “父母钥匙”是父母的关键。

最初(并且仍然在主从数据存储中)事务只能在同一个实体组中的实体之间进行,这是具有共同祖先实体的一组实体。在HR数据存储中,跨实体组事务是可用的,但只能跨越最多5个实体组。

因此,父实体用于创建要在事务中使用的实体组。请注意,拥有太大的实体组可能会严重影响写入速度,因为写入组中的一个实体时,整个组基本上被锁定;试图对单个实体组进行太多写操作会导致数据存储争用豁免。

2

父键用于建立实体组。当一个或多个数据存储实体共享一个祖先时,它们被认为是同一个实体组的一部分。

这在您如何编写事务性数据存储操作方面发挥作用。如果所有要修改的实体不是同一个实体组的一部分,则必须指定Cross-group transaction正在发生。

相关问题