Как составить Django Model Filter для существования отношения?

Как я могу выполнить следующий запрос с помощью Django Models?

SELECT * FROM TABLE_A WHERE (SELECT COUNT(id) FROM TABLE_B WHERE TABLE_A.field1 = TABLE_B.field1) > 0

Я хочу выбрать записи из таблицы_A, которые имеют совпадающие записи в таблице_B.

Я нашел решение

C.objects.\
 .annotate(num=Count('object_a_As'))\
 .filter(num__gt=0)

Выполняется следующий запрос

SELECT 
  *, COUNT(TABLE_AB.A_id) as "num"
FROM
  TABLE_C
LEFT OUTER JOIN
  TABLE_AB
ON
  TABLE_C.A_id = TABLE_AB.A_id
GROUP BY
  TABLE_C.id
HAVING
  COUNT(TABLE_AB.B_id) > 0
Вернуться на верх