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

Django技术问询:如何从Organizer模型出发获取所有关联Event的组织者?

解决从Organizer模型查询关联Event的实例问题

先明确下你的场景:

已知Event模型定义如下:

class Event(HashidModel, TimeStampedModel):
    organizer = models.ForeignKey( "organizers.Organizer", on_delete=models.CASCADE, related_name="events" )

需要从Organizer模型出发,获取所有拥有至少一个Event的Organizer对象,不能从Event模型发起查询,初始语句是Organizer.objects.all()。

直接给你调整后的查询语句,这是最简洁高效的写法:

organizers_with_events = Organizer.objects.filter(events__exists=True)

为啥这么写?

  • events是你在Event模型里设置的related_name,它用来建立Organizer到Event的反向关联,所以可以直接在Organizer的查询里调用它
  • __exists=True会让Django生成一个EXISTS子查询,去检查当前Organizer是否存在对应的Event记录,这种方式比用__isnull=False或者distinct()效率更高,而且不会返回重复的Organizer实例
  • 完全符合你“从Organizer模型发起查询”的要求,没有从Event那边开始

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 08:54:04