0

我正在尝试使用 App Engine NDB 对递归结构进行建模:

class Root(ndb.Model):
    pass

class Node(ndb.Model):
    #Node can have either a Root, or another Node as parent
    pass

root_key = Key(Root, 1)
node_a = Key(Root, 1, Node, 2)
node_b = Key(Root, 1, Node, 3)
node_a_a = Key(Root, 1, Node, 2, Node, 4)

从这里,我想查询 Root 实体的直系子实体。我能做的是查询根的所有后代:

Node.query(ancestor=root_key) # returns node_a, node_b, and node_a_a

我想做的是:

Node.query(parent=root_key) # returns node_a, node_b

但似乎ndb api不支持通过(立即)父键进行查询。希望我错了。期待阐明。谢谢

4

1 回答 1

4

这不是 NDB 限制——App Engine 数据存储区无法做到这一点。但是,您可以通过将父项的键(或其他一些唯一 ID)作为属性来轻松模拟此行为。

于 2012-07-19T20:36:08.047 回答