W modelu QuerySets Django widzę, że istnieją wartości porównawcze __gt
i __lt
dla nich, ale czy istnieje __ne
/ !=
/ <>
( nie równa się ?)
Chcę odfiltrować za pomocą nie równej:
Przykład:
Model:
bool a;
int x;
chcę
results = Model.objects.exclude(a=true, x!=5)
!=
Nie jest prawidłowa składnia. Próbowałem __ne
, <>
.
Skończyło się na tym, że:
results = Model.objects.exclude(a=true, x__lt=5).exclude(a=true, x__gt=5)
a=true
najpierw wyklucza wszystkie, a następnie stosuje x=5
filtr do pozostałych. Zamierzone zapytanie wymagało tylko tych z a=true
i x!=5
. Różnica polega na tym, że wszystkie te z a=true
i x=5
są również odfiltrowane.