Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.40 KB | None | 0 0
  1. @require_GET
  2. def show(request):
  3.     load = LoadOrder.objects.last()
  4.  
  5.     if not load:
  6.         return HttpResponse('Выгрузок еще не было!')
  7.  
  8.     transactions = Transaction.objects.filter(load=load)
  9.  
  10.     result = []
  11.     for transaction in transactions:
  12.         obj = {
  13.             'username': transaction.customer,
  14.             'spent_money': transaction.total,
  15.             'gems': [transaction.item]
  16.         }
  17.  
  18.         customer_exist = False
  19.         for item in result:
  20.             if item['username'] == obj['username']:
  21.                 item['spent_money'] = item['spent_money'] + obj['spent_money']
  22.  
  23.                 if obj['gems'][0] not in item['gems']:
  24.                     item['gems'].append(obj['gems'][0])
  25.  
  26.                 customer_exist = True
  27.                 break
  28.  
  29.         if not customer_exist:
  30.             result.append(obj)
  31.  
  32.     result = sorted(result, key=lambda i: item['spent_money'], reverse=True)[:5]
  33.  
  34.     for item in result:
  35.         sorted_gems = []
  36.         for gem in item['gems']:
  37.  
  38.             for other in result:
  39.                 if other != item:
  40.                     if gem in other['gems']:
  41.                         sorted_gems.append(gem)
  42.                         break
  43.  
  44.         item['gems'] = sorted_gems
  45.  
  46.     response = json.dumps(
  47.         result,
  48.         ensure_ascii=False,
  49.         indent=4
  50.     )
  51.  
  52.     return JsonResponse(response, safe=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement