【发布时间】:2015-03-06 09:45:43
【问题描述】:
我有这张桌子
class ClubMembership(GCModel):
member = ndb.KeyProperty(kind='User', required=True)
club = ndb.KeyProperty(kind='Club', required=True)
is_active = ndb.BooleanProperty(default=True)
membership_type = ndb.StringProperty(choices=set(["MEMBER", "TRAINER", "OWNER"]), default="MEMBER",
required=True)
然后在表中Club 我有这个
class Club(GCModel):
@property
def members(self):
return ClubMembership.query(ndb.AND(ClubMembership.club == self.key,
ClubMembership.membership_type == "MEMBER",
ClubMembership.is_active == True))
我真正需要的是检索User 的列表。我该怎么办?
获取此查询,而不是使用 for 循环获取每个 member 使用其键?
我尝试通过member 上的投影来使用ndb.get_multi,但它不起作用。
像这样的
members= ClubMembership.query(ndb.AND(ClubMembership.club == self.key,
ClubMembership.membership_type == "MEMBER",
ClubMembership.is_active == True),projection=['member']).fetch()
ndb.get_multi(members)
【问题讨论】:
标签: python google-app-engine google-cloud-datastore data-modeling app-engine-ndb