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

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

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

从刀片中的外键获取数据

如何从使用实体框架的外键链接的多个表中获取所有数据?

如何使用 Graphene-Django Relay 中的外键关系更新模型?

如何在Django中查询具有特定数量的外键关系并且在这些外键值中具有特定值的对象?

如何通过laravel中的外键检索记录的完整数据?

java - 如何根据Java Servlet中的外键在一列中显示多个值?