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、すべてGroupをループ内でフェッチできます (フェッチは非常に高速であることにSomeUser注意してください)。Key

--

ところで、おそらく、次のような異なるデータ構造を使用する方が良いでしょう

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)

この場合、必要なすべてのデータを 1 回のクエリで取得できます

于 2011-07-12T05:56:12.113 に答える