0
Djangoで次のようなSQLクエリを書くにはどうすればよいですか?Djangoでこのクエリを書く方法
SELECT COUNT(*)
FROM accounts_transactions
LEFT JOIN accounts_notes
ON accounts_notes.accounts_core_id = accounts_transactions.accounts_core_id
WHERE email_status='clicked' AND email_template_id IS NOT NULL
AND accounts_transactions.creation_date >= accounts_notes.creation_date
AND accounts_transactions.creation_date <= accounts_notes.creation_date + INTERVAL 7 DAY;
モデルの構造は次のとおりです。
クエリはうまく動作しますが、私はdjangoでこれをどのように書くのか分からないようです。プリフェッチ関連については読んでいますが、私はそれをどのようにしているのか分かりません。なぜなら、ノートとトランスクリプトの間の直接的なつながりはないからです。
更新:SOLUTION
queryset = AccountTransaction.objects.filter(
account__note__email_template__isnull=False,
account__note__email_status='clicked',
creation_time__gte=F('account__note__creation_time'),
creation_time__lte=F(
'account__note__creation_time') + timedelta(days=7)
)