这里也有类似的问题,但我找不到能帮助我的问题。
我有两个模型,聊天和发布
有多个聊天,每个聊天都附有多个帖子。 我正在尝试为每次聊天获取最新帖子。
Post.objects.order_by('-id').distinct('Chat')
按ID过滤帖子(所以最新的帖子是第一个),然后根据聊天记录抓取不同的帖子。
但由于order_by和distinct不匹配,我收到错误:
SELECT DISTINCT ON expressions must match initial ORDER BY expressions
那我该怎么做呢? Rawsql?谢谢!
答案 0 :(得分:0)
如果您使用相关模型的distinct
,则必须使用基于此模型的排序:
Post.objects.order_by('chat', '-id').distinct('chat')
您也可以查看at this question