Как аннотировать, фильтровать, а затем получать отношения полей ForeignKey в Django (FilteredRelation или другой метод)?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как аннотировать, фильтровать, а затем получать отношения полей ForeignKey в Django (FilteredRelation или другой метод)?

Сообщение Anonymous »

Я пытаюсь аннотировать отношения ForeignKey, а затем затем использовать новое аннотированное поле в цикле
Из документации:

Код: Выделить всё

>>> from django.db.models import FilteredRelation, Q
>>> Restaurant.objects.annotate(
...     pizzas_vegetarian=FilteredRelation(
...         "pizzas",
...         condition=Q(pizzas__vegetarian=True),
...     ),
... ).filter(pizzas_vegetarian__name__icontains="mozzarella")
Это работает.
Но если я это сделаю:

Код: Выделить всё

>>> from django.db.models import FilteredRelation, Q
>>> rests = Restaurant.objects.annotate(
...     pizzas_vegetarian=FilteredRelation(
...         "pizzas",
...         condition=Q(pizzas__vegetarian=True),
...     )
... )
... for rest in rests:
print(rest.pizzas_vegetarian)

Я получаю AttributeError: "Объект ресторана не имеет атрибута "pizzas_vegetarian"
Мне нужен доступ к этому "pizzas_vegetarian" " в отдельных блоках кода.
Возможно ли это с помощью FilteredRelation?
Какой метод мне следует использовать, чтобы получить это?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -filteredr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»