Django Query,Distinct和Order_By组合不起作用

时间:2016-08-10 21:23:45

标签: django postgresql django-queryset

这里也有类似的问题,但我找不到能帮助我的问题。

我有两个模型,聊天和发布

有多个聊天,每个聊天都附有多个帖子。 我正在尝试为每次聊天获取最新帖子。

Post.objects.order_by('-id').distinct('Chat')

按ID过滤帖子(所以最新的帖子是第一个),然后根据聊天记录抓取不同的帖子。

但由于order_by和distinct不匹配,我收到错误:

SELECT DISTINCT ON expressions must match initial ORDER BY expressions

那我该怎么做呢? Rawsql?谢谢!

1 个答案:

答案 0 :(得分:0)

如果您使用相关模型的distinct,则必须使用基于此模型的排序:
Post.objects.order_by('chat', '-id').distinct('chat')
您也可以查看at this question