2 つのクラスがあるとします。
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()
ドキュメントには、次の 2 つのことが記載されています。
ReferenceProperty 値はモデル インスタンスのように使用でき、データストア エンティティがフェッチされ、この方法で最初に使用されたときにモデル インスタンスが作成されます。
また、後に次のようにも述べています。
アプリケーションは、ReferenceProperty (キー) の値を明示的に db.get() して、参照されるエンティティが存在するかどうかをテストできます。
それで、それはどういう意味ですか?値は a ですkey
が、モデル インスタンスを使用できますか?
私が行った場合:
a2 = b.a_reference
a2 はA
ではなく型になりますkey
。これは、そのインスタンスが削除されるまで、変数a_reference
がモデル インスタンスのように動作し、その後、(存在しないインスタンスを指す) キーを返すことを意味しますか?