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=2OR(|)
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と等しい結果を返す。
最終更新
役に立ちましたか?