Как получить все значения из отношения ForeignKey в цикле? - PullRequest
1 голос
/ 05 апреля 2019

У меня есть следующие модели: 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}
    )

вид

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?

1 Ответ

3 голосов
/ 05 апреля 2019

Вы можете получить доступ к OrderItems через related_name:

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