Как получить доступ к отфильтрованному списку связанных объектов при использовании 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 не поддерживает прямой доступ к отфильтрованным элементам?

Вернуться на верх