Django:检查列表中的值

时间:2018-11-23 20:05:02

标签: django

我有一个带有多个条目order.order_items.all的QuerySet。我想检查一下我的模板中是否有列表中的任何这些项目包含foreign_key折扣。找到一个后,我想显示该订单使用了Discount_code。您将如何解决这个问题?

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

1 个答案:

答案 0 :(得分:1)

我认为最好在视图中执行此操作,而不是在Template中执行。例如:

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 %}