django - Django:检查列表中的值
问题描述
我有一个 QuerySet 有几个条目order.order_items.all
。如果我的列表中的任何这些项目包含 foreign_key 折扣,我想检查我的模板。找到一个后,我想显示一个 discount_code 用于订单。你会如何解决这个问题?
例子:
<QuerySet [OrderItem: #k9ukvrfvjk - 1x Test Ticket 1, OrderItem: #k9ukvrfvjk - 1x Test Ticket 2]>
解决方案
与其在模板中做,我认为最好在视图中做。例如:
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 %}
推荐阅读
- javascript - .prop 不更新复选框的视觉样式
- elasticsearch - elasticsearch 6.4 不计算字段中的 search_analyzer
- arrays - 使用 swift 中的前进、后退按钮从 url 加载数组中的图像展示
- javascript - 如何将 JSON 数组转换为 javascript 对象数组?
- python - 安装模块时出现 Odoo 错误 - XMLSyntaxError: None
- nginx - 使用 Nginx 的 React Web App 无法正确重定向
- javascript - Power BI Javascript 集成。获取访问令牌
- mysql - SQL根据时间戳差异查询数据
- python - LDA 模型的灵敏度和稳定性
- regex - 突出显示搜索结果摘录导致 PHP 错误