查询几个同级祖先

时间:2011-07-22 03:35:34

标签: google-app-engine

我有以下实体:

class Book():
  team = db.StringProperty()

class Entry():
  role = db.StringProperty()

我创建了两个Book s:

book1 = Book(team='Plants').put()
book2 = Book(team='Zombies').put()

我创建了三个Entry s:

entry1 = Entry(parent=book1, role='Peashooter').put()
entry2 = Entry(parent=book2, role='Gargantuar').put()
entry3 = Entry(parent=book2, role='Flag Zombie').put()

我可以查询'Plants' Book

query = Entry.all().ancestor(book1).fetch(100)

我想查询几本书。我只能想到list串联:

list1 = Entry.all().ancestor(book1).fetch(100)
list2 = Entry.all().ancestor(book2).fetch(100)
query = list1 + list2

除了list连接之外,还有更优雅的方法吗?

1 个答案:

答案 0 :(得分:1)

如果您想要为几个不同的祖先(不共享共同的祖先)组合查询,唯一的方法是使用单独的查询,如您所示。这与您想要在字段中查询多个不同的值没有什么不同。