Django:通过注释进行分组不正确

问题描述 投票:0回答:1

我正在构建一个简单的待办事项应用程序,我需要按statusstatus occurence对它们进行分组。

我尝试使用:

instance = request.user
instance.todos.values('status').annotate(counter=Count('status'))

但我得到此输出:

<QuerySet [{'status': 'ON-GO', 'counter': 1}, {'status': 'ON-GO', 'counter': 1}, {'status': 'ON-GO', 'counter': 1}, {'status': 'CHECK', 'counter': 1}, {'status': 'CHECK', 'counter': 1}]>

我以前使用过这种方法,它给了我所需的结果,但现在却不起作用。

任何解决方法?

django django-3.0
1个回答
0
投票

对不起,我忘记了order_by,我花了一个小时试图弄清为什么它不起作用...

instance = request.user
instance.todos.values('status').order_by('status').annotate(counter=Count('status'))

输出:

<QuerySet [{'status': 'CHECK', 'counter': 2}, {'status': 'ON-GO', 'counter': 3}]>
© www.soinside.com 2019 - 2024. All rights reserved.