2014-03-29 29 views
0

我有一個表的列有evidence,我想要count包含特定證據號的行數。例如100行可以具有證據數的值作爲003,200行可具有如004等從表中選擇數據並將其作爲數組在django中返回

我曾嘗試這一證據數值:

distinct_evidence=Tzworksjmplist.objects.values('evidence').annotate(evidence_count = Count('evidence')) 
    distinct_evidence=list(Tzworksjmplist.objects.values('evidence').annotate(evidence_count = Count('evidence'))) 

,其結果是:

[{'evidence_count': 6119, 'evidence': u'002'}, {'evidence_count': 6119, 'evidence': u'003'}, {'evidence_count': 6119, 'evidence': u'004'}, {'evidence_count': 6119, 'evidence': u'010'}, {'evidence_count': 6119, 'evidence': u'020'}, {'evidence_count': 6119, 'evidence': u'030'}, {'evidence_count': 6119, 'evidence': u'040'}]; 

我希望它用此格式返回數據:

[['Evidence 003', 12], ['Evidence 44', 9], ['Evidence 005', 14], ['Evidence 33', 16], ['Evidence 002', 7], ['Evidence 666', 9]]; 

有人請就如何我一個洞察在Django中這樣做?

回答

0

末試試這個:

result = [['Evidence %s' % e['evidence'], e['evidence_count']] for e in distinct_evidence] 

反正,我不明白爲什麼證據號碼是CharField。

+0

感謝pythonishvili,證據應該是一個整數,它的答案擔任我的目的 – user3445792

+0

我如何卸下U的結果呢?其結果是[[u'Evidence 2' ,6119],[u'Evidence 5' ,6119],[u'Evidence 7' ,6119]]; – user3445792

+0

'u'前綴是指字符串其實是一個unicode。和unicode是一件好事。離開'u'是,除非你明確的東東它是一個老校友字符串,如。與另一個字符串進行比較。要轉換爲字符串使用'str(u'unicoded string')' – gwaramadze

相關問題