Django:如何根据两列获取特定列的计数

Django: How to get count of a specific column according to two columns

我想根据 approval_transaction_type 和 approval_type.

列获取此 table 的用户 ID 的计数

预期的结果是。

批准交易类型 ID (60)

我目前要实现的代码是这样的,但是它覆盖了子列表和returns不正确的结果(我不明白为什么最后一个数组会覆盖所有数组):

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 equivalent for count and group by

Model.objects.values('approval_type').annotate(Count('user'))