Django查询,按组合显示的不同和顺序_无效

Django查询,按组合显示的不同和顺序_无效,django,postgresql,django-queryset,Django,Postgresql,Django Queryset,这里也有类似的问题,但我还没有找到一个对我有帮助的 我有两个模型,聊天和发帖 有多个聊天室,每个聊天室都有多个帖子。 每次聊天我都想得到最新的帖子 Post.objects.order_by('-id').distinct('Chat') 按ID过滤帖子(所以最新的帖子是第一个),然后根据聊天记录抓取不同的帖子 但由于order_by和distinct不匹配,我得到了错误: SELECT DISTINCT ON表达式必须按表达式匹配初始顺序 那么,我到底该怎么做呢?Rawsql?谢谢 如果您使用

这里也有类似的问题,但我还没有找到一个对我有帮助的

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

有多个聊天室,每个聊天室都有多个帖子。 每次聊天我都想得到最新的帖子

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

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

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

SELECT DISTINCT ON表达式必须按表达式匹配初始顺序


那么,我到底该怎么做呢?Rawsql?谢谢

如果您使用相关模型的
distinct
,则必须使用基于此模型的排序:
Post.objects.order_by('chat','id')。distinct('chat')

你也可以看看