Django:通过注释分组不能正常工作
Django: Group by through annotate is not working properly
我正在构建一个简单的待办事项应用程序,我需要按 status
和 status 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}]>
我正在构建一个简单的待办事项应用程序,我需要按 status
和 status 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}]>