__gt
Djangoのモデルクエリセットでは、比較値にandがあるようですが、 or (not equals__lt
)はありますか?not equalsを使用してフィルタリングしたいです。たとえば、__ne
!=
Model:
bool a;
int x;
私はやってみたいです
results = Model.objects.exclude(a=True, x!=5)
は!=
正しい構文ではありません。 も試しました__ne
。
最終的に私が使用したのは:
results = Model.objects.exclude(a=True, x__lt=5).exclude(a=True, x__gt=5)
ベストアンサー1
使用できますQ オブジェクトこれには、演算子を使用して否定し~
、通常の Python 式と同様に組み合わせることができます。
from myapp.models import Entry
from django.db.models import Q
Entry.objects.filter(~Q(id=3))
3
ID が であるエントリを除くすべてのエントリを返します。
[<Entry: Entry object>, <Entry: Entry object>, <Entry: Entry object>, ...]