python - 在 django 模板中访问相关表字段值
问题描述
我正在尝试访问 Django 模板中的 Django 相关字段值:
{% for item in order %}
<tr>
<td>{{ item.id }}</td>
<td class="text-left">{{ item.created }}</td>
<td class="text-left">{{ item.payments__charge_status }}</td>
<td class="text-left">{{ item.shipping_method_name }}</td>
<td class="text-right">£{{ item.total_gross_amount }}</td>
</tr>
{% endfor %}
views.py 中定义的实际查询集:
orders = Order.objects.values().filter(created__range=(start_date, end_date)).filter(Q(payments__charge_status="fully-charged") | Q(payments__charge_status="not-charged"))
付款在不同的表中,我可以payments__charge_status
在视图中使用,但不能在实际模板中访问。
任何帮助表示赞赏。
更新了支付模型的 models.py:
……
class Payment(models.Model):
order = models.ForeignKey(
Order, null=True, related_name="payments", on_delete=models.PROTECT
)
解决方案
从您的数据库建模订单可以有多个付款(多对一)所以付款是一个查询集,您应该遍历
{% for payment in item.payments.all %}
{{ payment.charge_status }
{% endfor %}
推荐阅读
- java - Java Excel cutom过滤器不显示任何行
- sql - SQL 条件选择帮助 (Amazon Redshift SQL)
- c - 为什么 strcat 函数将指针移动到下一个字符?
- python - 如何遍历 Python 中包含字典列表的 json 对象?
- routes - 为什么在德国没有标记违反周日 HGV 禁令的行为
- excel - 在引用之前清除特定的切片器
- python - float 类型的对象没有长度
- sql-server - Microsoft 中发生错误。NET Framework 尝试加载程序集时
- python - 使用列表之一的数据对字典中的列表进行排序
- excel - VBA - 在 word 文档中搜索包含特定字符串的表格并返回表格编号