【发布时间】:2010-10-18 17:01:11
【问题描述】:
假设我有两个班级:
class A(db.Model):
class B(db.Model):
a_reference = ReferenceProperty(A)
我现在可以执行以下操作:
a = A()
a.put()
b = B();
b.a_reference = a.key()
b.put()
documentation 声明了以下两件事:
ReferenceProperty 值可以像模型实例一样使用,数据存储实体将在第一次以这种方式使用时被提取并创建模型实例。
后来还说:
应用程序可以显式地 db.get() 一个 ReferenceProperty(它是一个 Key)的值来测试被引用的实体是否存在。
那是什么意思?该值为key,但它可以用作模型实例吗?
如果我这样做:
a2 = b.a_reference
a2 的类型为 A,而不是 key。这是否意味着变量a_reference 将表现得像一个模型实例,直到该实例被删除,然后它将返回一个键(指向一个不存在的实例)?
【问题讨论】:
标签: python google-app-engine referenceproperty