我希望根据approval_transaction_type和approval_type列获取此表的用户ID计数。
预期的结果是。
审批交易类型ID(60)
我目前要实现的代码是这样,但是它会覆盖子列表并返回不正确的结果(我不明白为什么最后一个数组会覆盖所有数组):
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)
如何在不循环的情况下获取计数并使用查询集? 如果有什么不清楚的话,请告诉我。谢谢!
答案 0 :(得分:2)
可以在一个查询中完成。基于此Django equivalent for count and group by
Model.objects.values('approval_type').annotate(Count('user'))