반응형
합계를 구하거나, 카운트 혹은 합계와 그 건수를 구해야 할때는 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
반응형
'파이썬 웹 개발' 카테고리의 다른 글
[Django] List 안에 dict key값으로 정렬하기 _OUTER JOIN 대체 방법 (0) | 2022.04.22 |
---|---|
[Python Django] 월별 sum, count 집계함수 orm group_by (0) | 2022.04.19 |
[Django] datatable Server-side processing _ 10,000row 넘어갈 때 방법 (0) | 2022.04.12 |
[Python Django] ORM 컬럼의 타입 변경해서 비교하기_ orm column cast (0) | 2022.03.28 |
[pywebview] 웹 페이지 이동시키기 (0) | 2022.03.15 |
댓글