You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django中筛选字段值大于指定阈值的对象

问题解答

这个需求完全可以实现,你写的写法不符合Django ORM的语法规范,ORM不支持直接在filter参数里用大于>、小于<这类运算符,需要用Django内置的字段查询表达式实现。

正确写法

大于指定值的查询要使用__gt(全称为greater than)后缀,修改后代码如下:

# Python语法中不需要加const关键字,常量默认用全大写下划线分隔命名即可
LIMIT_ID = 100

bigIdPeople = Person.objects.filter(id__gt=LIMIT_ID)

同类常用查询后缀

你可以根据需求替换后缀实现其他大小比较逻辑:

  • 大于等于指定值:使用__gte(greater than or equal to),示例:id__gte=LIMIT_ID
  • 小于指定值:使用__lt(less than),示例:id__lt=LIMIT_ID
  • 小于等于指定值:使用__lte(less than or equal to),示例:id__lte=LIMIT_ID
  • 不等于指定值:搭配exclude方法实现,示例:Person.objects.exclude(id=LIMIT_ID)

内容的提问来源于stack exchange,提问作者lionel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:18:03