【发布时间】:2011-01-20 00:23:35
【问题描述】:
我有以下带有示例数据的结构:
id season_id title
1 1 Intro
2 1 Second part
3 1 Third part
4 4 Other intro
5 4 Other second part
(不要问为什么),其中 season_id 总是指向本季第一集的 id...
我想要什么,得到关注:
1 1 Intro
4 4 Other intro
从技术上讲,这是季节的第一集 - 所有 season_eid
最低的条目我正在使用以下查询来获取它们的 ID:
Movie.objects.filter(category_type = 2).values('season_eid').annotate(models.Min('season_eid'))
并且拥有 id 我可以使用 django orm __in 构造获取对象的所有数据。
我可以只使用一个查询进行分组/注释并获取所有字段/值吗? values + annotate 只给了我一个字典列表,但我想用其他字段来获取正确的对象(最低值/season_eid 的最小值)。
【问题讨论】:
-
是的,有可能。但是您应该包含更多模型信息,例如外键和类别,以便我们能够提供帮助
-
好吧,忘记外键和“category_type”——我只对季节感兴趣。
-
看看我更新的答案。其实很简单。
标签: python django orm group-by annotate