0
)下記のSQLクエリをDjango ORMに変換しようとしています。私はそのタイプ(「A」、「B」、「C」)Django ORMがない場合(
の一つではない私は、多くの組み合わせを試してみましたが、私は可能性があるため、私は間違った結果を取得していますそれらの行をフィルタリングする必要が
select usp.user_id from Class_A as usp join Class_B as au
on au.id = usp.user_id join Class_C as up
on up.user_id = au.id where up.type not in ('A','B','C')
and up.end_time > now() and up.user_id = usp.user_id
and usp.data_enabled=1 and (usp.item_state=3 or usp.item_state=4)
and usp.user_id=au.id and au.is_active=1
正しい方法でup.plan_type not in ('A','B','C')
を実装しないでください。私はexclude()
と~Q()
変数を使用してみましたが、すべての結合操作を実行した後に行を除外しているため正しい結果が得られていません。結合操作中に行を除外する必要があります。
私はclassA_plans
は、関連する名前です。この
ClassA.objects.exclude(user__classA_plans__plan_type__in = ['I', 'C', 'D']).filter(user__classA_plans__end_time__gte = datetime.now(),**query)
を試してみました。
私にこれを手伝ってください。
あなたは正確に何をしようとしていますか? http://stackoverflow.com/help/how-to-ask – e4c5
これまでに試したことを正確に表示してください。 – Sayse
@コメント – Pramod