在django视图中我有:
signed_by = Demographic.objects.all().values_list('data_entered_by')
我得到[(u'Patient',),(u'Patient',), (u'Other',)]
。
我想要计算所有Patient
值和所有Other
值的值。
如果我使用
signed_by.count()
我得到了所有的计数。如何计算指定值?
答案 0 :(得分:2)
您可以annotate查询集:
e.Handled = true
因此,您可以按如下方式计算每个signed_by = Demographic.objects.values('data_entered_by').annotate(cnt=Count('id'))
值,因为它返回一个dict对象列表:
data_entered_by
来自文档:
当指定
for q in signed_by: print(q['data_entered_by'], q['cnt])
子句时,annotate()
中的每个对象都将使用指定的值进行注释。