访问django模板中相关的table字段值
Access related table field value in django template
我正在尝试访问 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"))
付款在不同的 table 中,我可以在视图中使用 payments__charge_status
进行访问,但在实际模板中不能。
感谢任何帮助。
已更新 models.py 支付模式:
.....
class Payment(models.Model):
order = models.ForeignKey(
Order, null=True, related_name="payments", on_delete=models.PROTECT
)
从您的数据库建模订单可以有多次付款(Many-to-One)因此付款是一个您应该迭代的查询集
{% for payment in item.payments.all %}
{{ payment.charge_status }
{% endfor %}
我正在尝试访问 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"))
付款在不同的 table 中,我可以在视图中使用 payments__charge_status
进行访问,但在实际模板中不能。
感谢任何帮助。
已更新 models.py 支付模式:
.....
class Payment(models.Model):
order = models.ForeignKey(
Order, null=True, related_name="payments", on_delete=models.PROTECT
)
从您的数据库建模订单可以有多次付款(Many-to-One)因此付款是一个您应该迭代的查询集
{% for payment in item.payments.all %}
{{ payment.charge_status }
{% endfor %}