2011-07-08 7 views
0

私は次のモデルがあります:私は何をしたいかジャンゴ - クエリセット多次元リストへ

class Fixture(models.Model): 
    id = models.AutoField(primary_key=True) 
    home_team = models.ForeignKey(Player, related_name="home") 
    away_team = models.ForeignKey(Player, related_name="away") 
    game_week = models.PositiveSmallIntegerField(max_length=2, default=0) 

はその「game_week」プロパティによってグループ私のフィクスチャオブジェクトのすべてを多次元リストを作成することです。例:

fixtures[0] = [<FixtureObject 1>, <FixtureObject 2>] 
    fixtures[1] = [<FixtureObject 3>, <FixtureObject 4>] 
    fixtures[2] = [<FixtureObject 5>] 
    fixtures[3] = [<FixtureObject 6>] 

ここで、フィクスチャリストのインデックスは異なるゲームの週です。これを行う最も簡単で最も無作法な方法は何ですか?それを行うには

答えて

2

最も簡単な方法は、辞書を使用することです:

fixtures = Fixture.objects.all() 
fixture_dict = {} 
for fixture in fixtures: 
    fixture_dict.setdefault(fixture.game_week, []).append(fixture)