Как преобразовать group by(values) в 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})

может я что-то не так сделал? или для значений group by они разные?! заранее спасибо ..

Не нужно перебирать объекты. Вам просто нужно преобразовать QuerySet в список. values() вернет объект QuerySet, который не может быть возвращен в JsonResponse. Поэтому просто преобразуйте его в список.

lists = Room.objects.values('f_type','room_type', 'beds', 'balcon').annotate(total=Count('pk')).order_by('-total')
lists = list(lists)
Вернуться на верх