Похоже, вы стремитесь вычислить сумму col1
с для каждого id
.Мы можем сделать это с помощью:
from django.db.models import F, Sum
Model.objects.values('type_id').annotate(
<b>type_name=F('type__name')</b>,
<b>count_col1=Sum('col1')</b>
).order_by('type_id')
Это создаст QuerySet
словарей, которые будут выглядеть следующим образом:
<QuerySet [
{'type_id': 1, 'type_name': 'foo', 'count_col1': 5},
{'type_id': 2, 'type_name': 'bar', 'count_col1': 3}
]>
или если вы хотите включить col2
:
from django.db.models import F, Sum
Model.objects.values('type_id'<b>, 'col2'</b>).annotate(
type_name=F('type__name'),
count_col1=Sum('col1')
).order_by('type_id'<b>, 'col2'</b>)