我试图使用.filter(field__lte = parameter)
过滤我的数据库中的对象,但它只是返回所有对象并且不会过滤掉任何对象。我甚至将参数设置为远高于存储在数据库中的任何值,并且仍然返回所有对象。Django queryset filter GT,LT,GTE,LTE返回完整的对象列表
>> all_objects = Ranked.objects.all()
>> filtered = all_objects.filter(score__lte = 100) #The max possible score is 100
>> len(filtered)
87 #Every object in the db
我要查询的数据库中的字段是IntegerField
。
我在这里做错了什么?谢谢你的帮助。
也许所有对象得分为<= 100确实有物体,其得分为> 100? –
尝试做'score__lte = 10'并看看你是否得到相同的结果。它对我来说看起来很好 - 最大值为100,并且让我获得小于或等于100的所有值 – karthikr
Django ORM将你提供给“过滤器”的条件解释为不是“将这些过滤掉”_,而是作为_“let这些通过“_”。 –