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