2

ゲームに Google アプリ エンジンを使用することにしました。python データストアを使用して情報を保存します。

各ユーザーとプレイ中のゲームに関する情報を保存する必要があります。ユーザーごとに、名前、ID、勝ったゲームなどを保存する必要があります。ゲームごとに、player1 id、player 2 id、およびその他のいくつかのゲーム関連の文字列を保存する必要があります。

ゲーム情報とユーザーを結びつける最良の方法は何ですか? ユーザー データベースに game1、game2、game3 のプロパティを設定する必要がありますか、それともより効率的な方法はありますか?

4

1 に答える 1

4

値のリストを提供するデータストアに「反復」プロパティを含めることができます。あなたの場合、次のようなことをするかもしれません:

class Game(ndb.Model);
    ...

class User(ndb.Model):
    games = ndb.KeyProperty(kind=Game, repeated=True)

コードでは、myUser.games はゲーム オブジェクトのキーのリストになります。

または、ゲームのプレイヤー数が決まっている場合は、関係を逆方向にすることもできます。

class Game(ndb.Model):
    player1 = ndb.KeyProperty(kind=Player)
    player2 = ndb.KeyProperty(kind=Player)

そして、プレーヤーのすべてのゲームを取得するには、次のようにクエリを実行しますGame.query(player1=myPlayer.key)(また、プレーヤー 2 についても同様です)。

于 2013-03-04T21:24:14.313 に答える