0

我有这两个模型

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)

但我需要能够获得subscriptionWHERE subgroupevent__group_id=groupID 以及事件数据。这可能吗?

4

2 回答 2

0

过滤相关模型:

尝试跨越关系的标准查找,如果您遇到问题,请尝试Q 对象。但请注意,并非每个 sql 查询都可以使用 ORM 完成,可能存在需要回退到原始 sql的情况,但即使这样,您也可以将原始 sql 中的字段映射到模型字段(此功能实际上非常酷) )。

检索相关模型

要使用单个查询检索对象,您可能会发现有用的select_relatedprefetch-related

于 2013-04-21T05:54:31.810 回答
0
subgroupevent_list = SubGroupEvent.objects.filter(group_id=groupID)

for subgroupevent in subgroupevent_list:
    event = subgroupevent.event
于 2013-04-21T05:55:21.347 回答