Django ORM присоединяется к сырым запросам
Я хочу присоединить довольно сложный подзапрос к кверисету Django ORM:
Результирующий запрос должен иметь вид:
select id from webshop_product
left outer join (
select product_id, count(extra_col) as quantity from (
select product_id, col1 as extra_col from xyz where x = 123 and y = 456
union
select product_id, col2 as extra_col from abc where a = 234 and y = 534
) as t1
) as t2 on t2.product_id = webshop_product.id
Подзапрос в левом внешнем предложении join довольно сложный, он включает агрегирование из объединения из разных таблиц, и я не могу написать его в ORM. Я пытался написать его в ORM, но не смог добиться объединения на разных таблицах...., поэтому я хочу присоединить его как необработанный подзапрос и аннотировать столбец количества.
Что-то вроде:
Product.objects.all().join("my complex raw subquery")
Возможно ли это в Django ORM?