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