考虑以下:
status = queryset.values('status').annotate(count=Count('status'))
where status
字段是一个CharField
with choices
。这将产生一个字典列表status
DB 值及其计数。
有没有办法聚合status
并显示其显示值?我查了一下代码_get_FIELD_display
我可能可以模仿,但重复框架的内部代码感觉有点黑客。
如果不破解 SQL,您可能无法在数据库级别轻松实现这一目标。但是由于get_FOO_display
运行于Model
水平,你甚至不需要破解_get_FIELD_display
或手动查找选择(如果以下方法不会花费您的服务器太多费用):
YourModel(status=status).get_status_display()
Thus
for s in queryset.values('status').annotate(count=Count('status')):
print(queryset.model(status=s['status']).get_status_display())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)