我有这张桌子
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
?你知道吗
我试图使用ndb.get_multi
使用member
上的投影,但它不起作用。
像这样的
members= ClubMembership.query(ndb.AND(ClubMembership.club == self.key,
ClubMembership.membership_type == "MEMBER",
ClubMembership.is_active == True),projection=['member']).fetch()
ndb.get_multi(members)
get_multi
在一个键列表上工作,您有一个ClubMembership实例列表。您需要为每一个获取member
键:您还应该考虑将成员资格信息存储在用户的实体中。这样,您可以在一个查询中获得所有用户,这要快得多。你知道吗
相关问题 更多 >
编程相关推荐