class Event(HashidModel, TimeStampedModel):
organizer = models.ForeignKey(
"organizers.Organizer", on_delete=models.CASCADE, related_name="events"
)
如何获得所有已有活动的组织者?我的挑战是我必须经过组织者(我不能从事件模式开始。)
organizer = Organizer.objects.all()
您可以使用以下过滤器:
Organizer.objects.filter(
events__isnull=False
).distinct()
因为我们这个工程执行LEFT OUTER JOIN
上的Event
表,然后过滤,使得我们只检索至极项目id
的Event
是NOT NULL
。然后,我们采取DISTINCT
对象以避免Organizer
多次检索,每个一次Event
。
通常,Django会将其优化为INNER JOIN
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句