QuerysetのANDとOR
AND(&)
SQLのAND演算子のように、二つのQuerysetを結合する。
x=1になるQuerysetと、y=2になるQuerysetのANDの方法は以下の通り。
Model.objects.filter(x=1) & Model.objects.filter(y=2)
Model.objects.filter(x=1, y=2)
from django.db.models import Q
Model.objects.filter(Q(x=1) & Q(y=2))
以下のSQLと等しい結果を返す。
SELECT ... WHERE x=1 AND y=2
OR(|)
SQLのOR演算子のように、二つのQuerysetを結合する。
x=1になるQuerysetと、y=2になるQuerysetのORの方法は以下の通り。
Model.objects.filter(x=1) | Model.objects.filter(y=2)
from django.db.models import Q
Model.objects.filter(Q(x=1) | Q(y=2))
以下のSQLと等しい結果を返す。
SELECT ... WHERE x=1 OR y=2
最終更新
役に立ちましたか?