-
Django orm - group by해서 count 얻는 경우python 2019. 7. 10. 16:27
특정 모델에서 예를 들어 특정 조건의 누적된 사람 수를 구해야 하는 경우
user_id 가 지정된 유저의 id 라고 할때
다음과 같이 호출하면
변수명 = 모델명.objects.values('user_id').filter(
조건~~~
).annotate(Count('user_id')).aggregate(count=Count('user_id'))변수명에 'count' = 123123 이런식으로 나오는 것을 알 수 있다.
변수명 = 모델명.objects.values('user_id').filter(
조건~~~
).annotate(Count('user_id'))처럼 해서 무언가 될줄 알고 삽질을 여러번 했지만 안되서 뒤에 aggregate 와 같이 써야만 정확히
특정 조건의 누적된 사람 수를 알수 있었다.
'python' 카테고리의 다른 글
python 시간차이 구하기 (0) 2019.07.09 python timedelta에서 제공하는 시간 외 시간 구하기 (0) 2019.07.08 파이썬 append와 extend 차이점 (1) 2018.12.13