1

我对 App Engine Datastore 非常陌生,我无法弄清楚这一点。我有这些模型:

class SomeUser(User):
        name = db.StringProperty()

class Group(db.Model):
        title = db.StringProperty()
        date_started = db.DateTimeProperty(auto_now_add=True)

class GroupParticipant(db.Model):
        group = db.ReferenceProperty(Group, collection_name = 'participants')
        participant = db.ReferenceProperty(SomeUser)
        is_owner = db.BooleanProperty()

如何查询数据存储以获得如下结果:

Group.title, Group_owner, Number of participants/Group
group1,      someuser1,   3
group2,      someuser2,   4
4

1 回答 1

3

根本没有连接。您必须手动获取所有数据。例如,您可以从 获取所有记录,GroupParticipant然后在循环中获取所有记录(请注意,获取速度非常快)GroupSomeUserKey

--

顺便说一句,可能最好使用不同的数据结构,比如

class SomeUser(User):
        name = db.StringProperty()

class Group(db.Model):
        title = db.StringProperty()
        date_started = db.DateTimeProperty(auto_now_add=True)
        owner = db.ReferenceProperty(SomeUser)
        participants = db.ListProperty(db.Key)

在这种情况下,您只需一个查询即可获取所有必需的数据

于 2011-07-12T05:56:12.113 回答