Я работал над проектом, который рассматривает производительность как главный приоритет, поэтому я пытаюсь использовать одиночные запросы для каждой страницы, чтобы собрать всю необходимую информацию.
Любой, кто, я попал в точку, где у меня есть один набор запросов, который нужно перегруппировать по столбцу (слева, справа, по центру), а затем снова перегруппировать по заголовку.Логика работает нормально, но когда запускается вторая перегруппировка, она займет весь набор запросов, а мне нужно только перегруппировать элементы, которые находятся слева или по центру и т. Д.Итак, я искал функции для удаления элементов из набора запросов, не обращаясь к базе данных, и единственное, что я смог найти, это создать собственный шаблон, в котором я застрял :)
Это мой результат запроса
+------------+-------------------+------------+-----------+----+-----------+-----------+---------+----+-------------+-------------+
| col_mapper | list_title | main_title | list_slug | id | slug | is_active | site_id | id | domain | name |
+------------+-------------------+------------+-----------+----+-----------+-----------+---------+----+-------------+-------------+
| L | gadget | for sale | gadget | 2 | for-sale | 1 | 1 | 1 | example.com | example.com |
| L | furniture | for sale | frnture | 2 | for-sale | 1 | 1 | 1 | example.com | example.com |
| L | engines | for sale | engines | 2 | for-sale | 1 | 1 | 1 | example.com | example.com |
| L | women seeking men | personals | wsm | 1 | personals | 1 | 1 | 1 | example.com | example.com |
| L | missed connection | personals | misd-conn | 1 | personals | 1 | 1 | 1 | example.com | example.com |
| L | men seeking women | personals | msw | 1 | personals | 1 | 1 | 1 | example.com | example.com |
| R | massage | services | massage | 3 | srvces | 1 | 1 | 1 | example.com | example.com |
| R | computers | services | compters | 3 | srvces | 1 | 1 | 1 | example.com | example.com |
+------------+-------------------+------------+-----------+----+-----------+-----------+---------+----+-------------+-------------+
В моем шаблоне я сделал что-то вроде этого
{% regroup dict by col_mapper as column_gr %}
{% for column in column_gr %}
{{ column.grouper }}<br>
{% regroup column.list by main_title as item_gr %}
{% for i in item_gr %}
{{ i }}
{% endfor %}
{% endfor %}
Первая перегруппировка работает нормально, но как только она попадает во вторую перегруппировку, она снова перегруппирует весь набор запросов, а я хочу толькоперегруппировать, где col_mapper равен col_mapper.grouper.Я пытался создать собственный тег, но большинство известных мне подходов приведут к тому, что набор запросов снова попадет в базу данных для фильтрации.
Есть предложения?