我有这两个模型
class SubGroupEvent(models.Model):
class Meta:
unique_together = ('subscription', 'group', 'event')
subscription = models.ForeignKey(Subscription, null=True, blank=True)
group = models.ForeignKey(AbstractGroup)
event = models.ForeignKey(Event)
和
class Events
title = models.CharField(max_length=255)
要获取组ID中的所有事件,请使用
events = events.filter(subgroupevent__group_id=groupID)
但我需要能够获得subscription
WHERE subgroupevent__group_id = groupID以及事件数据。这可能吗?
答案 0 :(得分:0)
尝试标准Lookups that span relationships,如果您遇到了问题Q objects。但请注意,并非每个sql查询都可以使用ORM完成,可能会出现需要回退到raw sql的情况,但即使这样,您也可以将原始sql中的字段映射到模型字段(此功能实际上是很酷的一个)。
要使用单个查询来检索对象,您可能会发现有用的select_related和 prefetch-related
答案 1 :(得分:0)
subgroupevent_list = SubGroupEvent.objects.filter(group_id=groupID)
for subgroupevent in subgroupevent_list:
event = subgroupevent.event