Как получить заданное значение c внешнего ключа - PullRequest
1 голос
/ 30 апреля 2020

Мой models.py выглядит так:

class Order(models.Model):
    items = models.ManyToManyField(OrderItem)

class OrderItem(models.Model):
    item = models.ForeignKey(Item, on_delete=models.CASCADE)

class Item(models.Model):
    quantity = models.IntegerField(default=1)

В моей функции у меня есть доступ к таблице заказов, и я пытаюсь получить информацию о количестве товара.

I пробовал это: order.items.item.quantity, но я получаю эту ошибку: 'ManyRelatedManager' object has no attribute 'item'

Как я могу получить номер количества из таблицы товаров?

1 Ответ

2 голосов
/ 30 апреля 2020

Вам необходимо выполнить итерацию по соответствующему набору запросов как

order = Order.objects.get(id=123)
for order_item in order.items.all():
    print(order_item.item.quantity)

или использовать метод values() как

order = Order.objects.get(id=123)
result = order.items.values('item__quantity')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...