user11301070
user11301070

Reputation:

How to get all values from ForeignKey relation in loop?

I have a next models: Order, OrderItem

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

views

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

How can I get all order_item values for each order?

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

And how can I get all product_item for order_item?

Upvotes: 0

Views: 47

Answers (1)

p14z
p14z

Reputation: 1810

You can access the OrderItems through the related_name:

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

Upvotes: 2

Related Questions