You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
840 B
23 lines
840 B
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})
|
|
|