fox_12
@fox_12
Расставляю биты, управляю заряженными частицами

Выборка с именами полей, в которых есть совпадения?

Допустим у меня есть некая модель, по полям которой делается поиск:
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 объектов, а также только наименования и значения полей объектов в которых была найдена поисковая фраза.
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы