2016-05-17 11 views
1

から特定の値を数:Djangoのビュー:私はDjangoのビューでモデル

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

そして私は[(u'Patient',),(u'Patient',), (u'Other',)]を取得します。

Patientの値と、すべてOtherの値を持つすべてを数えたいと思います。

私は

signed_by.count() 

を使用する場合は

私はすべてのカウントを取得します。指定した値を数えるにはどうすればよいですか?

for q in signed_by: 
    print(q['data_entered_by'], q['cnt]) 

:それは辞書オブジェクトのリストを返すために、あなたは次のように各data_entered_by値カウント取得することができ、結果として

signed_by = Demographic.objects.values('data_entered_by').annotate(cnt=Count('id')) 

答えて

2

あなたは、クエリセットをannotateすることができますドキュメントから:

annotate()句が指定された場合、QuerySetの各オブジェクトには、指定された値で注釈が付けられます。

+0

annotate()の意味は? – zinon

+0

それぞれの番号を取得したい。 – zinon

+0

私は注釈が何を追加しました。クエリーセット内の各オブジェクトに特定の計算フィールドを注釈するために使用されます。私はあなたのコメントからこの部分を理解していません... _私はそれぞれの番号を取得したいですか? – AKS

関連する問題