Django:通过注释分组不能正常工作

Django: Group by through annotate is not working properly

我正在构建一个简单的待办事项应用程序,我需要按 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}]>

我以前用过这个方法,它给了我需要的结果,但现在它不起作用。

任何解决方法?

抱歉我忘了 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}]>