본문 바로가기
파이썬 웹 개발

[Python Django] orm sum, count 출력하기 _orm 합계, 카운트(집계함수)

by 배추잠자리 2022. 4. 14.
반응형

합계를 구하거나, 카운트 혹은 합계와 그 건수를 구해야 할때는 sum, count 함수가 필요합니다.

 

class PayModel(models.Model):
    idx = models.IntegerField(unique=True)
    create_date = models.DateTimeField(blank=True, null=True)
    price = models.IntegerField(null=True)

예를 들어 PayModel 이라는 모델이 있다고 합시다.

 

from django.db.models import Sum, Count



test = PayModel.objects.filter(create_date__year=2022, price__gt=0).aggregate(Sum('price'), Count('price'))
pay_sum = test['price__sum']
pay_cnt = test['price__count']

print(pay_sum)
print(pay_cnt)

PayModel의 filter에 2022년도 0원이상 이라는 조건을 걸고 .aggregate(Sum('price'), Count('price'))

즉, price 컬럼에 대한 sum 과 price 컬럼에 대한 count를 구할 수 있습니다.

 

aggregate의 결과 값은 dict형으로 리턴되므로  ['필드명__sum']  처럼 가져오면 사용할 수 있다.

 

 

■ 파이썬 장고 orm  sum, count

test = TestModel.objects.aggregate(Sum('필드명'), Count('필드명'))
test_sum = test['필드명__sum']
test_cnt = test['필드명__count']

 

■ 파이썬 장고 orm 월별 group_by  count sum

[Python Django] 월별 sum, count 집계함수 orm group_by (tistory.com)

■ 파이썬 장고 orm   AND 조건, OR조건

https://bcdragonfly.tistory.com/17?category=1010487 

 

■ 파이썬 장고 orm  날짜 범위 필터

https://bcdragonfly.tistory.com/29?category=1010487 

 

반응형

댓글