1
私はこのようなクエリがあります:stopped
ない唯一の多数の接続饅頭があるかもしれない1 intitatorとピアBeetween多くの分野に多くのフィルタリングジャンゴ
queryset = User.objects.filter(
~Q(pk=self.request.user.pk),
~Q(connections_as_initiator__peer=self.request.user,
connections_as_initiator__stopped=False))
を。だから私はこのクエリを実行するには、現在のユーザーとクエリされたユーザーの間に、現在のユーザーがピアであるアクティブな接続があるかどうかを調べることです。しかし、これはまったく何が起こるかではありません。
SELECT accounts_user.id FROM accounts_user
WHERE (
NOT accounts_user.id = 48
AND NOT accounts_user.id IN (SELECT U1.initiator_id AS col1 FROM connection U1 WHERE U1.peer_id = 48 AND U1.stopped = FALSE)
);
ORMかでそれを実現する方法はあります:私は何を考えていた(そしてどのような期待される結果を与えること)のようなものが
SELECT accounts_user.id FROM accounts_user
WHERE (
NOT accounts_user.id = 48
AND NOT accounts_user.id IN (SELECT U1.initiator_id AS col1 FROM connection U1 WHERE U1.peer_id = 48)
AND NOT accounts_user.id IN (SELECT U1.initiator_id AS col1 FROM connection U1 WHERE U1.stopped = FALSE)
);
です生のSQLの使用を開始する必要があります。注釈についても考えていましたが、まだそのように実装する方法は100%はわかりません。