Django视图:从模型中计算特定值

时间:2016-05-17 11:32:04

标签: python django django-views

在django视图中我有:

 signed_by = Demographic.objects.all().values_list('data_entered_by')

我得到[(u'Patient',),(u'Patient',), (u'Other',)]

我想要计算所有Patient值和所有Other值的值。

如果我使用

signed_by.count() 

我得到了所有的计数。如何计算指定值?

1 个答案:

答案 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()中的每个对象都将使用指定的值进行注释。