在 Django 模型 QuerySet 中,我看到__gt和__lt ,但是有__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)
查询中的field=value field__exact=value的简写。也就是说, Django 将查询运算符放在标识符中的查询字段上。 Django 支持以下运算符:
exact
iexact
contains
icontains
in
gt
gte
lt
lte
startswith
istartswith
endswith
iendswith
range
date
year
iso_year
month
day
week
week_day
iso_week_day
quarter
time
hour
minute
second
isnull
regex
iregex我敢肯定,如 Dave Vogt 所建议的那样,将它们与 Q 对象结合起来,并像Jason Baker 所建议的filter()或exclude() ,就可以对任何可能的查询获得准确的需求。