Если я правильно понял, вы можете сделать это с помощью двух операторов фильтра, к которым вы присоединяетесь на модели Condition
, например:
Credit.objects.filter(
bank__id=1,
condition__security='Deposit - deposit'
).filter(
condition__purpose=3
)<b>.distinct()</b>
. Это приводит к следующему запросу:
SELECT DISTINCT credit.*
FROM credit
INNER JOIN condition ON credit.id = condition.credit_id
INNER JOIN condition T3 ON credit.id = T3.credit_id
WHERE credit.bank_id = 1
AND condition.security = Deposit - deposit
AND T3.purpose = 3