Фильтр списка в таблице с помощью информации о контекстном поле
Я создаю приложение, которое предоставляет информацию о продажах. По сути это страница, которая показывает таблицу с проданными товарами и их количеством за последние пару месяцев. Он берет из базы данных список идентификаторов и затем извлекает информацию в список словарей, каждый словарь представляет информацию о продукте.
products_id = (
SalesHistory.objects.filter(store=store)
.values_list("product", flat=True)
.distinct()
)
list_prod = Product.objects.filter(id__in=products_id, **filters).values()
prod_dict = []
for item in list_prod:
prod_dict.append(item)
for i in range(len(prod_dict)):
prod_dict[i]['prod_unit'] = SalesHistory.objects.filter(product= prod_dict[i]['id']).first().umb_product
prod_dict[i]['months_first']= sum_sales(3, 4, store_id, prod_dict[i]['id'])
(пример построения переменной context["products"])
{% for product in products %}
<tr id="{{ product.code }}" name="{{product.code}}">
<td style="font-size:65% !important; padding: 8px 8px 8px 15px !important;" >{{ product.code }}</td>
<td style="font-size:60% !important;">
{{ product.name }}
<span class="badge bg-primary">
(пример построения таблицы на фронт-энде)
Одна из этих информаций - категория, основанная на кривой ABC, которую я реализовал.
Как я могу фильтровать список при использовании страницы на основе этой информации в контексте/списке товаров?