您可以通过下载App Engine SDK来源中的appengine.ext.db来源来找到答案- 答案是,不,没有您需要的特殊框:__get__
方法(来源中的第2887行) (对于1.3.0 SDK)ReferenceProperty
会 先 描述符的描述符被调用, 然后才 知道是否.key()
对结果进行调用,因此就没有机会进行所需的优化。
但是 ,请参见第2929行:方法get_value_for_datastore
完成了您想要的!
具体来说,son.father.key()
使用而不是使用Son.father.get_value_for_datastore(son)
,结果您会更 快乐;-)。