from collections import OrderedDict from django.http import JsonResponse from django.shortcuts import render from .models import Tea, TeaType, TeaCategory, Pic # Create your views here. from .utils import get_extension def list(request): dic = OrderedDict() for cat in TeaCategory.objects.all(): dic[cat.name] = OrderedDict() for tt in TeaType.objects.all(): if tt.preferred is not None: dic[tt.category.name][tt.name] = OrderedDict() dic[tt.category.name][tt.name]['preferred'] = tt.preferred.name dic[tt.category.name][tt.name]['price'] = tt.preferred.price dic[tt.category.name][tt.name]['pic'] = str(tt.preferred.pic.id) + '.' + get_extension( tt.preferred.pic.href) return JsonResponse(dic, json_dumps_params={'ensure_ascii': False})