Как сгруппировать один столбец таблицы django на основе другого столбца
У меня есть таблица, как показано ниже:
id | type | code
-------------------------------------
0. 5 2
1 6 6
2 8 16
3 4 11
4 5 4
5 2 2
6 4 1
7 10 6
8 9 2
Все, что мне нужно вывести, это список groupby по кодам, как здесь:
{ '2': [5,2,9], '6': [6, 10], '16': [8], '11':[4], ...}
Я сделал этот запрос, но он не выполняет правильный запрос:
type_codes = [{ppd['code']:ppd['type_id']} for ppd in \
MyClass.objects \
.values('code', 'type_id')
.order_by()
]
Любая помощь будет принята с благодарностью
Вы можете попробовать следующее, итерируя результат запроса (используя values_list):
data = MyClass.objects..values_list('code', 'type_id')
res = {}
for code, type in data:
res[code] = [type] if code not in res.keys() else res[code] + [type]