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

如何使用Django的Related Lookups?关联字段lt/lte/gt/gte操作含义咨询

Django关联字段的lt/lte/gt/gte查询含义

这些查询操作不是集合比较,本质是针对关联对象的主键值进行的有序类型(数值、日期等)比较,逻辑和直接操作关联字段对应的主键字段完全一致。

举个实际例子:
假设你有两个模型:

class Author(models.Model):
    id = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=100)

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)

当你执行Book.objects.filter(author__gt=3)时,Django会自动将其转换为对book.author_id字段的大于比较,等价于Book.objects.filter(author_id__gt=3),最终筛选出所有作者ID大于3的书籍。

同理:

  • author__lt=5 → 筛选作者ID小于5的书籍
  • author__gte=2 → 筛选作者ID大于等于2的书籍
  • author__lte=10 → 筛选作者ID小于等于10的书籍

这种查询逻辑是Django将关联字段的比较操作直接映射到了其对应的主键字段上,因为文档默认用户能联想到主键的比较逻辑,所以没有专门单独说明。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 14:01:03