Python 谷歌数据存储-它会延迟加载吗?

Python 谷歌数据存储-它会延迟加载吗?,python,google-app-engine,google-cloud-datastore,Python,Google App Engine,Google Cloud Datastore,如果我有一个带有订单列表的Customer对象,则使用db.ReferenceProperty声明 一段时间后,我可能会有大量的订单,如果我拉取客户对象,我会有拉取整套订单的危险吗?是的,db.ReferenceProperty字段会被延迟加载。发件人: ReferenceProperty自动将模型实例作为特性值引用和取消引用:可以直接将模型实例指定给ReferenceProperty,并使用其键。ReferenceProperty值可以像使用模型实例一样使用,当首次以这种方式使用时,将获取数据

如果我有一个带有订单列表的Customer对象,则使用db.ReferenceProperty声明


一段时间后,我可能会有大量的订单,如果我拉取客户对象,我会有拉取整套订单的危险吗?

是的,db.ReferenceProperty字段会被延迟加载。发件人:

ReferenceProperty自动将模型实例作为特性值引用和取消引用:可以直接将模型实例指定给ReferenceProperty,并使用其键。ReferenceProperty值可以像使用模型实例一样使用,当首次以这种方式使用时,将获取数据存储实体并创建模型实例。未触及的引用属性不会查询不需要的数据。

例如:

# Any reference properties not loaded yet
customer = Customer.get_by_id(1)
print customer.name
print customer.address

# Assuming customer.order is a ReferenceProperty, now is when it
# would be loaded from the datastore.
print customer.order.created_at

为Google工作的第一天?@Silmarl89-你的观点是?可能很有趣:由
ReferenceProperty
属性创建的反向引用实际上是
Query
实例,因此你也可以查询引用父实体的实体子集:
customer.orders.filter('company','ACME').order('-created').fetch(10) 
在ReferenceProperty字段的另一端自动创建查询的好处。