Django Шаблон пропускает 1 цикл, если значение дублируется

Я работаю с множеством полей из-за различных вариантов продукта .Но варианты дублируются Я могу сделать это в view.py, но если кто-то может сделать это в шаблоне, это было бы очень полезно

{% for z in variant %}
  {% for y in z.variant.all%}
    {% if y.type == x %}
      Title: {{x.title}} Code:{{x.code}}
    {% endif %}
  {% endfor %}
{% endfor %}

Видите эти отпечатки

<QuerySet [<Variant_type: Size(Small)>, <Variant_type: Material(Polyester)>, <Variant_type: Color(Red)>]>
<QuerySet [<Variant_type: Size(Small)>, <Variant_type: Material(Leather)>, <Variant_type: Color(Red)>]>
<QuerySet [<Variant_type: Size(Large)>, <Variant_type: Material(Polyester)>, <Variant_type: Color(Green)>]> 

Я хочу только один раз, и то же самое касается любого другого

Попробуйте это:

{% for variant_type in variant %}
  {% with variant_values=variant_type.variant.all %}
    {% if variant_values %}
      {% for value in variant_values %}
        {% if value.type == x %}
          {% if not loop.parentloop.first %}
            <br>  <!-- Add line break if not the first variant type -->
          {% endif %}
          Title: {{ x.title }} Code: {{ x.code }}
          {% if not loop.last %}
            <br>  <!-- Add line break if not the last variant value -->
          {% endif %}
        {% endif %}
      {% endfor %}
    {% endif %}
  {% endwith %}
{% endfor %}

Это должно гарантировать, что каждый тип варианта будет отображаться только один раз, а значения вариантов будут соответствующим образом разделены.

Вывод:

Title: Red Code: R001
Title: Blue Code: B002

Title: Small Code: S001
Title: Large Code: L002

Title: Polyester Code: P001
Title: Leather Code: L002
Вернуться на верх