2013-01-05 1 views
0

에 의해 그룹의 모델은 내가 models.py에 있습니다. 결과는 '하루'및 '게임'(당일 게임 목록)과 같은 단축키를 사용해야합니다. 나는 그런 방법으로 그것을 수행장고, 일

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 

이 기능은 잘 작동하지만 나는 그런 그룹 일을 할 수있는 더 쿼리 방법이 있는지 알고 싶습니다. 이것에 대해

답변

2

무엇 :

query = Game.objects.all().query 
query.group_by = ['date'] 
results = QuerySet(query=query, model=Game) 

는 그런 다음 결과를 반복하고, 각 항목에서 낮과 게임을 얻을 수 있습니다.

+0

고마워요! 'group_by'에 대해 몰랐습니다. – imkost