我正在尝试对外键执行group by子句,但我遇到了一些问题。
代码;
status_applications = DevelopmentAssessment.objects.values('status').annotate(total = Count('status'))
字段状态仅返回状态值的整数,而不是相关对象。有没有办法让它返回相关对象,所以我可以在for循环的相关表中使用字段名称?
干杯, 本
答案 0 :(得分:0)
你基本上已经有了答案。
status_applications
是一个QuerySet,它包含您要求的一组相关对象(状态)。
status_applications[0]
将是第一个,[1]
秒,依此类推。
要访问每个的计数,只需执行:
for status in status_applications:
print status, status.total
如果您需要表格的整行,则只需不使用值或将其留空:
applications = DevelopmentAssessment.objects.annotate(total = Count('status'))
或
applications = DevelopmentAssessment.objects.values().annotate(total = Count('status'))