首页 > 解决方案 > Django:检查列表中的值

问题描述

我有一个 QuerySet 有几个条目order.order_items.all。如果我的列表中的任何这些项目包含 foreign_key 折扣,我想检查我的模板。找到一个后,我想显示一个 discount_code 用于订单。你会如何解决这个问题?

例子: <QuerySet [OrderItem: #k9ukvrfvjk - 1x Test Ticket 1, OrderItem: #k9ukvrfvjk - 1x Test Ticket 2]>

标签: django

解决方案


与其在模板中做,我认为最好在视图中做。例如:

context['discount'] = order.order_items.filter(discount_id=<discount_id>).exists()
return render(request, 'template', context=context)

在模板中:

{% if discount %}
 // discounted related codes
{% endif %}

更新

也许您可以简单地通过以下方式获得它:

{% item in order.order_items.all %}
    {% if item.discount %}
        {{ item.discount.discount_code }}
    {% endif %}
{% endfor %}

推荐阅读