如何只从GAE中的ReferenceProperty获取实体 - 而不加载实体?

Jan*_*zny 1 google-app-engine google-cloud-datastore

当访问ReferenceProperty时,它从数据存储区加载实体,但有时我只想使用引用的模型键,我不想支付引用模型加载的额外成本.

有没有办法只访问ReferenceProperty上的键?

Wil*_*hen 8

特定

class Foo(db.Model):
    bar = db.ReferenceProperty()
Run Code Online (Sandbox Code Playgroud)

foo = Foo.get_by_id(1) # or however you get it
Run Code Online (Sandbox Code Playgroud)

你可以检索关键foobar ReferenceProperty,像这样:

key = Foo.bar.get_value_for_datastore(foo)
Run Code Online (Sandbox Code Playgroud)