首页 > 解决方案 > 如何将分组依据(值)转换为 json - django

问题描述

我正在尝试将我的分组依据(django 中的值)数据转换为JsonResponse,但它会引发此错误:

AttributeError:“dict”对象没有属性“f_type”

这是我加载json数据的功能

def load_cate(request):
    lists = Room.objects.values('f_type','room_type', 'beds', 'balcon').annotate(total=Count('pk')).order_by('-total')
    data = []
    for i in lists.values():
    
        item = {
            'wc_type':i.f_type,
            'room_type':i.room_type,
            'beds':i.beds,
            'balcon':i.balcon,
            'total':i.total
        }
        data.append(item)
    
    return JsonResponse({'success':True,'data':data})

我做错了什么吗?还是按值分组不同?!提前致谢 ..

标签: jsondjangojsonresponse

解决方案


无需遍历对象。您只需要将 QuerySet 转换为列表。values() 将返回一个不能在 JsonResponse 中返回的 QuerySet 对象。所以只需转换为列表。

lists = Room.objects.values('f_type','room_type', 'beds', 'balcon').annotate(total=Count('pk')).order_by('-total')
lists = list(lists)

推荐阅读