0
2対1の関係を持つUser
とPayment
という2つのテーブルがあります。1対多のDjangoクエリ
私はフィールドdate_updated
とstatus
を持っています。
date_updated < 3 months ago
の支払いを持つすべてのユーザーを取得し、3か月以上前に他の支払いが完了した状態と異なる必要がある場合は、クエリを作成できますか。そのような支払いがユーザーに見つからない場合、ユーザーは返されません。
たとえば、私は昨年一回の支払いでユーザーを持っていますが、返されたいのですが、同じユーザーが3ヶ月以上前に別の支払いをしていて、戻ってきた。
User.objects.filter(
Q(orders__payments__date_updated__lte=time_x_months) &
Q(Q(orders__payments__date_updated__gte=time_x_months) &
~Q(orders__payments__status=Payment.STATUS_COMPLETED))
)