私は持っmodels.py
ています:
class Game(models.Model):
date = models.DateTimeField()
日ごとにグループ化されたすべてのゲームを返す関数が必要です。結果は、'day' と 'games' (その日のゲームのリスト) のキーを持つ dict である必要があります。私は次のようにします:
from itertools import groupby
def get_games_grouped_by_days():
def get_day(obj):
return obj.date.day
games = Game.objects.all()
grouped_games = []
for day, games_in_day in groupby(games, key=get_day):
grouped_games.append({
'day': day,
'games': list(games_in_day)
})
return grouped_games
この関数は正常に動作しますが、そのようなグループ化を行うためのクエリ方法が他にあるかどうかを知りたいです。