我正在尝试使用聚合函数来获取其最新帖子的用户名和文字。
我正在尝试下面的代码,但是我没有得到用户名的不同值。
conversations = Chat.objects.values('user__username','body').annotate(Max('dateofpost'))
上面提供了该用户的所有帖子,但是我要获取的是带有该帖子的正文的用户名,该正文是最近发布的帖子。有人可以帮忙吗?
我一直在在线阅读,但是找不到在这种情况下该怎么做的解释。我可以看到有关再次调用aggregate / values方法的帖子,但无法使其正常工作。
答案 0 :(得分:0)
我可以这样工作:
conversations_qs = Chat.objects.values('user__username').annotate(Max('dateofpost'))
conversation_dates = [conv['dateofpost__max'] for conv in conversations_qs]
conversations = Chat.objects.filter(dateofpost__in=conversation_dates)
有更好的方法吗?