请教大佬们一个希望choice的显示值的问题

model prob中的choice字段:

types = (
        ('server', '服务器'),
        ('network', '网络'),
        ('operation system', '操作系统'),
        ('browser', '浏览器'),
        ('app', '软件应用'),
     )
    type = models.CharField(max_length=32, choices=types, default="软件应用")

在view中查询所有字段,在前端使用{{obj.get_type_display}}显示choice的值是没有问题的,能够显示服务器、网络、操作系统等。

但是在view中使用

res = models.prob.objects.values('type').annotate( quantitys = Count('id')).order_by('type')

其实就是希望groupby一下,queryset如下:

[{'type': 'app', 'quantitys': 6}, {'type': 'browser', 'quantitys': 3}]

还是希望前端能够展示 choice的值,不知道怎么处理比较好?直接在前端get_type_display是不行了的,网上查了查好像说要用自定义filter,我小白一个也没写成功,不知道有没有更简单一点的方法,能够在得到 res时,直接就是

[{'type': '软件应用', 'quantitys': 6}, {'type': '浏览器', 'quantitys': 3}]

谢谢。

评论 0