user-agent
@user-agent

Как сделать группировку элементов по значению поля на Django?

Есть модель товара, которая имеет связь 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, а потом через цикл разбрасывать по словарю. Вроде бы получилось, но хотелось бы найти более правильно решение.
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы