Django - QuerySet到多维列表

时间:2011-07-08 13:41:11

标签: python django

我有以下型号:

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>]

夹具列表索引是不同的游戏周。什么是最简单,最pythonic的方式?

1 个答案:

答案 0 :(得分:2)

最简单的方法是使用字典:

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