Trong queryset mô hình Django, tôi thấy rằng có một __gt
và __lt
cho các giá trị comparitive, nhưng là có một __ne
/!=
/<>
Tôi làm cách nào để lọc không bình đẳng trong bộ lọc truy vấn Django?
Tôi muốn lọc ra bằng cách sử dụng không bằng (không bằng?):
Ví dụ:
Model:
bool a;
int x;
tôi muốn
results = Model.objects.exclude(a=true, x!=5)
!=
không đúng cú pháp. Tôi đã thử __ne
, <>
.
tôi đã kết thúc bằng:
results = Model.objects.exclude(a=true, x__lt=5).exclude(a=true, x__gt=5)
Kết quả sẽ là = Model.objects.exclude (a = true) .filter (x = 5) đã hoạt động chưa? – hughdbrown
@hughdbrown. Không. Truy vấn của bạn loại trừ tất cả 'a = true' trước rồi áp dụng bộ lọc' x = 5' 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. –