Допустим у меня есть некая модель, по полям которой делается поиск:
MyModel.objects.annotate(
search=SearchVector(
'title',
'body',
'field_relation1__title',
'field_relation1__body',
'field_relation2__relation1__sometext',
'field_relation2__relation2__title',
'field_relation3__relation4__relation5__somefield',
... # тут еще куча полей
),
).filter(
Q(search=SearchQuery(query, search_type='phrase'))
)
На выходе у меня выборка объектов, у которых заданные поля подпали под заданную поисковую фразу.
Можно ли каким-то образом получить названия полей SearchVector, которые попали под условие поиска, без перебора полей заново?
В идеале - в одной выборке хотелось бы видеть id объектов, а также только наименования и значения полей объектов в которых была найдена поисковая фраза.