Django:Can';t通过外键访问模板上的数据

Django:Can';t通过外键访问模板上的数据,django,Django,我想在我的模板中访问事务_。因此,我的方法是通过订单模型,因为我已经在使用它,它是外键。我所做的是 {{ order.ambassador_transaction }} 但我得到的只是大使.AmbassadorTransaction.None。我检查了几次,但它是通过外键连接的。有人知道我做错了什么吗 views.py class OrderListView(ListView): allow_empty = False template_name = 'orders/ord

我想在我的模板中访问
事务_
。因此,我的方法是通过订单模型,因为我已经在使用它,它是外键。我所做的是

{{ order.ambassador_transaction }} 
但我得到的只是
大使.AmbassadorTransaction.None
。我检查了几次,但它是通过
外键连接的。有人知道我做错了什么吗

views.py

class OrderListView(ListView):
    allow_empty = False
    template_name = 'orders/order_list.html'

    def get_queryset(self):
        return Attendee.objects.filter(
            order__order_reference=self.kwargs['order_reference'],
            order__access_key=self.kwargs['access_key'],
        )

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['order'] = Order.objects.get(
            order_reference=self.kwargs['order_reference'],
        )
        return context
models.py

class AmbassadorTransaction(models.Model):
    order = models.ForeignKey(
        Order,
        on_delete=models.PROTECT,
        related_name='ambassador_transaction'
    )
    ambassador = models.ForeignKey(
        AmbassadorProfile,
        on_delete=models.PROTECT,
        related_name='ambassador_profile'
    )

class Order(models.Model):
    event = models.ForeignKey(
        Event,
        on_delete=models.PROTECT,
        related_name='orders'
    )
    order_reference = models.CharField(
        max_length=10,
        unique=True,
    )
    total_gross = models.DecimalField(
        max_digits=25,
        decimal_places=2
    )
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

您的
订单
型号中没有
ambassador\u交易
外键

如果要访问与
Order
实例相关的所有
AmbassadorTransaction
,可以在视图中迭代
Order.AmbassadorTransaction\u set.all()
,或在模板中迭代
Order.AmbassadorTransaction.all


您还可以使用
AmbassadorTransaction
AmbassadorTransaction
对象访问订单。订单

因为您的
型号。ForeignKey(…)
AmbassadorTransaction
中,而不是在
订单
中,因此这是一个解决方案:

{% for ambassador in order.ambassador_transaction.all %}
  ...
{% endfor %}