【发布时间】:2010-02-24 20:47:56
【问题描述】:
在 Python 中,假设我有一个 A 类的模型,它有一个 ReferenceProperty b 到模型类 B,它有一个 ReferenceProperty c 到模型类 C。
假设A 的实例已经存在于数据存储中,我可以这样说:
q = A.all()
a = q.get()
在这种情况下,实体加载是如何工作的?检索到a 时是否检索到a.b?检索到a.b 时是否检索到a.b.c? b 和 c 是否仅在首次访问时检索?如果我将a 存储在内存缓存中,b 和c 也会被存储吗?如果没有,当我从内存缓存中取出 a 时,它们何时会被检索到?
我问这些问题的原因(除了好奇之外)是因为我有一个我想存储在 memcache 中的实体,但它链接到另一个实体(它链接到另一个实体等),并且链接实体的总大小可能超过 1MB。
谢谢!
【问题讨论】:
标签: python google-app-engine model memcached loading