Есть модель товара, которая имеет связь ForeignKey с моделью групп товаров и с моделью каталога.
class Product(models.Model):
catalog = models.ForeignKey(Catalog, related_name='catalog', on_delete=models.CASCADE)
division = models.ForeignKey(Division, related_name='division', null=True, on_delete=models.CASCADE) #группы товаров
title = models.CharField(max_length=500, blank=True, verbose_name='Заголовок')
...
При переходе в раздел каталога, я получаю товары из этого каталога. После я хочу разбить эти товары по группам в зависимости от поля division.
-- (catalog) Электроника
---- -- (division) Телефоны
------- -- (Product) apple; -- (Product) xiaomi ...
---- -- (division) Холодильники
------- -- ...
При этом division не входит в состав каталога, а просто выводится как название группы товаров, определённых в данном каталоге. То есть -- (division) Телефоны может появиться в другом каталоге и с другими товарами: вместо -- (Product) apple; будет -- (Product) samsung;
Как сделать разделения элементов по группам поля division?
Пробовал выбирать division через values_list, а потом через цикл разбрасывать по словарю. Вроде бы получилось, но хотелось бы найти более правильно решение.