gpt4 book ai didi

Django ORM GROUP BY

转载 作者:行者123 更新时间:2023-12-04 18:20:47 25 4
gpt4 key购买 nike

这个 PostgreSQL 查询解决了我的问题,但我不确定如何将它放入 Django ORM 中。

SELECT DISTINCT ON (to_email) * FROM (SELECT * FROM invitation_invitation ORDER BY date_invited DESC) AS sub

从项目列表中,我想要“to_email”列的所有不同行,并且 to_email 重复的地方,它应该选择最新的(date_invited)

最佳答案

这是 overview on doing aggregation in Django ORM ,特别是 values功能。

更新:将其付诸实践,类似于

Invitation.objects.values('to_email').annotate(date_invited=Max('date_invited'))

应该适用于您的示例。

更新 2:Ferran 是正确的,这只会检索 to_email 字段和 date_invited 注释。如果立即需要其他信息,那么在 Python 中执行“only-the-latest”过滤可能是最简单的方法。建议的解决方案更适合您最初显示仅包含摘要数据的列表并根据请求提供更多详细信息的情况(假设摘要数据足以唯一标识一条记录)。

关于Django ORM GROUP BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1238375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com