Шаблон Django: не показывать товар, если товар уже был показан
Правда, извините за беспокойный заголовок, мой случай немного сложен для объяснения (и я не так хорошо владею английским). Я постараюсь сделать все возможное.
У меня есть приложение на django, в котором пользователи могут сохранять парные продукты питания - первый - "продукт_к_замене", а второй - "продукт_заменитель". Но дело в том, что у "продукта_к_замене" может быть несколько "продуктов-заменителей". Вот как может выглядеть моя таблица БД "Избранное" (цифры - это идентификаторы продуктов) :
product_to_substitute_id | substitute_product_id |
---|---|
3 | 5 |
3 | 50 |
3 | 45 |
58 | 124 |
12 | 98 |
Так что я хотел бы сделать на html-странице избранного: показать один раздел с "продуктом_к_заменителю" и второй раздел, который показывает все "заменяющие_продукты", сопряженные с "продуктом_к_заменителю".
Вот небольшой фрагмент моего кода:
{% for product in favorites %}
{% if product.product_to_substitute %}
### Block where I want to show only once the product to substitute ###
<section style="background-image: url('{{ product.product_to_substitute.image_url }}')">
...
</section>
### Block where I want to show all the substitutes products that are paired with the product to substitute ###
<section>
<img class="img-fluid" src="{{ product.substitute_product.image_url }}" alt="..." />
</section>
{% endif %}
{% endfor %}
Посмотрев на пример таблицы, мой код сейчас показывает 5 парных блоков "продукт_к_заменителю" и "продукт_заменитель", чего я не хочу. Я бы хотел иметь 3 парных блока. Один для продукта_к_заменителю_ид "3" и два для продуктов_к_заменителю_ид "58" и "12".
Надеюсь, это имеет смысл...
Спасибо!