Im Django-Modell QuerySets sehe ich, dass es ein __gt
und __lt
für Vergleichswerte gibt, aber gibt es ein __ne
/ !=
/ <>
( nicht gleich ?)
Ich möchte mit einem ungleich herausfiltern:
Beispiel:
Model:
bool a;
int x;
ich möchte
results = Model.objects.exclude(a=true, x!=5)
Die !=
Syntax ist nicht korrekt. Ich habe es versucht __ne
, <>
.
Am Ende habe ich verwendet:
results = Model.objects.exclude(a=true, x__lt=5).exclude(a=true, x__gt=5)
a=true
zuerst alle aus und wendet dann den x=5
Filter auf die verbleibenden an. Die beabsichtigte Abfrage erforderte nur diejenigen mit a=true
und x!=5
. Der Unterschied besteht darin, dass alle mit a=true
und x=5
auch herausgefiltert werden.