如何从循环中的外键关系中获取所有值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从循环中的外键关系中获取所有值?相关的知识,希望对你有一定的参考价值。

我有下一个型号:OrderOrderItem

class Order(models.Model):
    pass


class OrderItem(models.Model):
    order = models.ForeignKey(
        Order, related_name='order_item',
        verbose_name=_('order'), null=True,
        on_delete=models.SET_NULL,
        limit_choices_to={'enabled': True}
    )
    product_item = models.ForeignKey(
        Product, related_name='order_item',
        verbose_name=_('product item'), null=True, blank=True,
        on_delete=models.SET_NULL,
        limit_choices_to={'enabled': True}
    )

意见

def order_view(request):
    user_orders = Order.objects.filter(user=request.user)

如何获得每个订单的所有order_item值?

{% for order in orders %}
    {% for ord in orderitem.order_set.all %}
        123
    {% endfor %}    
{% endfor %}

我怎样才能获得product_item的所有order_item

答案

您可以通过related_name访问OrderItems:

{% for order in orders %}
    {% for item in order.order_item.all %}
        {{ item.pk }}
    {% endfor %}    
{% endfor %}

以上是关于如何从循环中的外键关系中获取所有值?的主要内容,如果未能解决你的问题,请参考以下文章