열 approval_transaction_type 및 approval_type에 따라이 테이블의 사용자 ID 수를 가져 오려고합니다.Django : 두 열에 따라 특정 열의 수를 얻는 방법
이 예상되는 결과가 될 것입니다.
승인 트랜잭션 타입 ID (60)
- 승인 타입 ID (65) = 2 사용자
- 승인 타입 ID (64) = 2 사용자
- 승인 타입 ID (63) = 2 사용자
- 승인 타입 ID (62) = 2 사용자
- 승인 타입 ID (61) = 2 사용자
달성하기 위해 내 현재 코드이이지만, 하위 목록을 덮어 쓰고 (마지막 배열이 모든 배열을 덮어 쓰게됩니다 내가 왜 이해가 안 돼요) 잘못된 결과를 반환
for transaction in transaction_types:
# Initial Array
transaction["approval_types"] = []
for approval_type in approval_types:
# Get Count of Users
approval_type["count"] = Model.objects.filter(approval_transaction_type=transaction['id'],approval_type=approval_type['id']).values().count()
# Assign this sub list to main list
transaction["approval_types"].append(approval_type)
내가 어떻게 할을 루핑하지 않고 카운트를 받고 쿼리 세트를 사용합니까? 이것에 대해 명확하지 않은 것이 있으면 알려주십시오. 감사!
Django> 1.8에는 조건부 집계가 있습니다. https://docs.djangoproject.com/en/1.10/ref/models/conditional-expressions/를 참조하십시오. 케이스 기능을 사용할 수 있습니다. – wrdeman
[Django 상당 수 및 그룹 기준] 가능한 복제본 (http://stackoverflow.com/questions/327807/django-equivalent-for-count-and-group-by) –