【发布时间】:2013-02-28 14:12:38
【问题描述】:
我有一个名为 data 的 ValuesQuerySet。
我正在尝试获取每个对象的所有类型的摘要计数
data.values('type') 产生这个输出:
[{'type': u'internal'}, {'type': u'internal'}, {'type': u'external'}, {'type': u'external'}]
我想得到这样的细分(可以有更多的选择,而不仅仅是“内部”和“外部”。这可能是多达 20 种不同的类型:
internal: 2
external: 2
我正在尝试这个,但它只是返回一个空字典...
data.values('type').aggregate(Count('type'))
Annotate 也会产生不理想的结果:
data.values('type').annotate(Count('type'))
[{'type': u'internal', 'type_count': 1}, {'type': u'internal', 'type_count': 1}, {'type': u'external', 'type_count': 1}, {'type': u'external', 'type_count': 1}]
模型.py
class Purchase(models.Model):
type = models.ForeignKey(Types)
【问题讨论】:
-
data是什么类型,data.values('type')是什么类型? -
它是一个 ValuesQuerySet