0

我的问题很简单。我有Model_A并且Model_B

class Lobby(db.Model):
    name = db.StringProperty()  

class UserModel(db.Model):
    name = db.StringProperty()
    lobby = db.ReferenceProperty(Lobby, collection_name="lobby")

现在我Lobby从存储中获取一个/所有实体,并且我想访问每个大厅的相关用户。我不能通过调用来做到这一点lobby_entity.aUsers

这是如何实现的?

4

1 回答 1

1

使用 GQL:

lobbies = Lobby.all().fetch(10)
keys = [lobby.key() for lobby in lobbies]
q = aUser.gql('WHERE lobby IN :1', keys)
users = q.fetch(1000)

请注意,如果您有很多大厅,这将无法正常工作。IN 查询最多支持 30 个值。(https://developers.google.com/appengine/docs/python/datastore/gqlreference)

PS。请不要以小写字母开头模型类名称。查看 PEP 8。

于 2012-04-22T05:33:46.973 回答