从表中选择数据并将其作为数组返回到django中

时间:2014-03-29 19:22:41

标签: database django django-models django-views

我有一个包含列evidence的表,我希望count包含特定证据编号的行数。例如,100行可以具有证据编号值003,200行可以具有证据编号值为004等。

我试过这个:

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中实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

最后试试这个:

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

无论如何,我不明白为什么证据编号是CharField。