gpt4 book ai didi

google-app-engine - 查询 KeyProperty 的父/祖先

转载 作者:行者123 更新时间:2023-12-02 08:44:40 24 4
gpt4 key购买 nike

是否可以根据 KeyProperty 的祖先(父级)进行查询?

EG,类似于以下内容:

class Foo(ndb.Model):
bar = ndb.KeyProperty()

Foo.query().filter(Foo.bar.parent == some_key)

也就是说,我想找到所有具有 bar 键的 foo,其中 bar 键的父级是 some_key。

如果可能的话,我想避免必须将 bar 的父级存储为单独的键属性。基本上,我想对 KeyProperty 执行祖先查询,但看不出如何做到这一点(如果可能的话)。

我目前的解决方案是使用 ComputedProperty 提取 bar 的父级并将其存储为单独的字段。这可行,但似乎没有必要,因为我已经将父键存储为栏键的一部分。

最佳答案

是的,这叫做祖先查询:

Foo.query(ancestor=some_key)

更新:

经过评论中的对话,我们明确了想要的结果。查询只有在相关属性被索引时才有效。您可以通过使用计算属性并查询其值来为 parent 建立索引。由于 .parent() 将返回一个键,这应该不是问题:

class Foo(ndb.Model):
bar = ndb.KeyProperty()
bar_parent = ndb.ComputedProperty(lambda self: self.bar.parent())

Foo.query(Foo.bar_parent == some_key)

关于google-app-engine - 查询 KeyProperty 的父/祖先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13337286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com