Django에서 Group By 쿼리를 수행하는 방법은 무엇입니까?
Django에서 모델에 대한 쿼리별 그룹을 수행하려면 다음을 사용할 수 있습니다. ORM의 집계 기능. 이는 value() 및 annotate() 메소드를 활용하여 달성됩니다.
다음 예를 고려하십시오.
from django.db.models import Count result = (Members.objects .values('designation') .annotate(dcount=Count('designation')) .order_by() )
이 코드는 다음과 유사한 SQL 쿼리로 변환됩니다.
SELECT designation, COUNT(designation) AS dcount FROM members GROUP BY designation
쿼리 결과는 각각 그룹을 나타내는 사전 개체 목록이 됩니다. 예를 들어:
[{'designation': 'Salesman', 'dcount': 2}, {'designation': 'Manager', 'dcount': 2}]
결과에 여러 필드를 포함하려면 해당 필드를 value()에 인수로 추가하면 됩니다.
.values('designation', 'first_name', 'last_name')
참조:
위 내용은 Django에서 GROUP BY 쿼리를 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!