Возможно ли добавить таблицу подзапросов в кверисет django?
Я работаю над запросом, подобным приведенному ниже; я хочу создать его как Django queryset для дальнейшей фильтрации.
select distinct on (id) id, title, weight
from (select *, 3 + ts_rank_cd(to_tsvector(title), to_tsquery('sales'), 32) as weight
from courses
where to_tsvector(title) @@ to_tsquery('sales')
union all
select *, 2 + similarity(title, 'sales') as weight
from courses
where title % 'sales') as union_table
order by id, weight desc
Я пробовал создать его как метод raw
, но это не позволяет создавать цепочки дополнительных фильтров, а метод extra
с аргументом tables
не позволяет подзапросы.
Есть ли какое-либо решение, кроме использования необработанного SQL?