Trong mô hình QuerySets của Django, tôi thấy rằng có một __gt
và __lt
cho các giá trị so sánh, nhưng có một __ne
/ !=
/ <>
( không bằng ?)
Tôi muốn lọc ra bằng cách sử dụng không bằng:
Thí dụ:
Model:
bool a;
int x;
tôi muốn
results = Model.objects.exclude(a=true, x!=5)
Các !=
không phải là cú pháp chính xác. Tôi đã thử __ne
, <>
.
Tôi đã kết thúc bằng cách sử dụng:
results = Model.objects.exclude(a=true, x__lt=5).exclude(a=true, x__gt=5)
a=true
đầu tiên và sau đó áp dụng x=5
bộ lọc trên phần còn lại. Truy vấn dự định chỉ yêu cầu những người có a=true
và x!=5
. Sự khác biệt là tất cả những người có a=true
và x=5
cũng được lọc ra.