Как получить доступ к отфильтрованному списку связанных объектов при использовании FilteredRelation?
У меня есть список фондов, которые я должен запросить по связанным с ними обязательствам модели (как в "вернуть фонды, в которых связанные обязательства заполняют этот критерий).
Мне нужно аннотировать каждый фонд агрегацией над отфильтрованными обязательствами, а также получить доступ к каждому элементу в отфильтрованном отношении.
Я пытаюсь использовать FilteredRelation
:
funds = Fund.objects.annotate(
f_commitments=FilteredRelation(
"commitments",
condition=Q(pk="c40ae23d-50ee-47c5-9397-c1670098ecd9")
)
)
Я пробую базовый запрос, чтобы проверить фильтр. Запрос выполняется, но возвращаемые им средства не имеют атрибута f_commitments
, как это обычно бывает с аннотациями:
AttributeError: 'Fund' object has no attribute 'f_commitments'
Есть ли что-то неправильное в запросе или FilteredRelation не поддерживает прямой доступ к отфильтрованным элементам?