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