我有以下型号:
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的方式?
答案 0 :(得分:2)
最简单的方法是使用字典:
fixtures = Fixture.objects.all()
fixture_dict = {}
for fixture in fixtures:
fixture_dict.setdefault(fixture.game_week, []).append(fixture)