我在我的django項目中有一個名爲「change」的模型,它有一個名爲「change_type」的字段。 change_type字段中包含多個值,包括「移動」,「新建」,「編輯」以及其他新類型在任何給定時間段內隨機添加的其他值。我目前使用正常的Django查詢來選擇變更模型中的條目組。在django中按字段類型計算數據庫條目
是否有一種快速方法來確定change_type字段中的唯一條目?是否有快速的方法來返回每個入口類型的計數?
我在我的django項目中有一個名爲「change」的模型,它有一個名爲「change_type」的字段。 change_type字段中包含多個值,包括「移動」,「新建」,「編輯」以及其他新類型在任何給定時間段內隨機添加的其他值。我目前使用正常的Django查詢來選擇變更模型中的條目組。在django中按字段類型計算數據庫條目
是否有一種快速方法來確定change_type字段中的唯一條目?是否有快速的方法來返回每個入口類型的計數?
將其組合在一起:
occurrences = {}
change_types = Change.objects.values_list('change_type', flat=True).distinct()
for type in change_types:
occurrences[type] = Change.objects.filter(change_type=type).count()
找到解決方案後,它非常簡單。
Change.objects.all().values('change_type').distinct()
很酷,我喜歡那樣。 – 2011-02-27 02:29:27
此,現在可以更有效地使用aggregation實現:
Change.objects.values('change_type').annotate(Count('change_type'))
輸出包含change_type__count
字段對於每個相應change_type
。
輝煌答案。 – Mark 2016-02-10 10:44:50