有大概这么一个表
City information person
上海 已收集 A
上海 未收集 B
上海 已收集 C
杭州 未收集 D
杭州 未收集 E
希望能够统计出每个城市的人数,及对应的信息收集率,同时城市名字转化为相应城市代码,类似如下结构的返回供前端使用,有什么好的思路不?谢谢
[{‘city’:021,‘person’:3 ,info_rate: 66.66%},{...}]
有大概这么一个表
City information person
上海 已收集 A
上海 未收集 B
上海 已收集 C
杭州 未收集 D
杭州 未收集 E
希望能够统计出每个城市的人数,及对应的信息收集率,同时城市名字转化为相应城市代码,类似如下结构的返回供前端使用,有什么好的思路不?谢谢
[{‘city’:021,‘person’:3 ,info_rate: 66.66%},{...}]
# 每个城市的已收集
info = Table.objects.filter(information='已收集').values("city").annotate(cnt=Count("screen_id"))
# 每个城市的总人数
person = Table.objects.filter().values("city").annotate(cnt=Count("screen_id"))
# 然后对比上面两个,就能算出来百分比
# 相应城市代码,这个应该是有其它的表,或者其它的字段,甚至其它的数据来源来承载的,可以说得更清楚一些。