Предыдущие ответы помогли мне решить мою проблему. Для дальнейшего использования
если у вас есть некоторые вложенные данные, такие как
{'city_name': 'City1', 'comp_name': 'Company1', 'name': 'Branch1'}
и вы хотите сгруппировать по городам, а затем по компаниям в этом городе, например:
City1
Company 1
Branch 1
Branch 2
Company 2
Branch 1
Company 3
Branch 1
City2
Company 2
Branch 1
Company 3
Branch 1
Branch 2
City3
Company 1
Branch 1
Company 2
Branch 1
Branch 2
Я решил это следующим образом:
key = itemgetter('city_name')
iter = groupby(queryset, key=key) # assuming queryset is already sorted by city_name
for key, group in iter:
print(key)
key2 = itemgetter('company_name')
iter2 = groupby(sorted(group, key=key2), key=key2) # now we must sort by company_name
for comp, branch in iter2:
print(comp)
for b in branch:
print(b)