Как изменить более быстрые методы для оптимизации в django
Как изменить более быстрые методы для оптимизации в django , На самом деле вы использовали цикл, но он занимает больше времени для получения результата... Кто-нибудь, пожалуйста, помогите мне решить эту проблему.
MY looping
result = dict()
balace_amount =0
total_quantity =0
for item in sales_by_customer:
invoice_date = item['order__created_on']
invoice_date = invoice_date.strftime('%m/%d/%Y')
entity_name = Entities.objects.values_list('name',flat=True).filter(id=item['order__entity_id']).first()
group_by_str = f"{item['order__entity_id']}"
total_quantity +=item['order_quantity']
unit_price = item['price']
if percentage_amt:
if float(percentage_amt) > 0:
unit_price = float(unit_price) + (float(percentage_amt)*float(unit_price))/100
else:
percentage_amt = float(percentage_amt)
percentage_amt = abs(percentage_amt);
unit_price = float(unit_price) - (float(percentage_amt)*float(unit_price))/100
unit_price_with_qty = unit_price * item['order_quantity']
balace_amount += unit_price_with_qty
nyb_code = ProductCodes.objects.values_list('nyb_code',flat=True).filter(product_id=item['product_id']).filter(flavour_id=item['flavour_id']).filter(quantity_id=item['quantity_id']).first()
if group_by_str in result:
result[group_by_str]['invoice'].append({"entity_name": entity_name,"invoice_no": item['order__order_id'],"invoice_date": invoice_date,"product_title": item['product__title'],"flavour_title": item['flavour__title'],"quantity_title": item['quantity__title'],"nyb_code": nyb_code,'unit_price': unit_price,"entity_id": entity_name,"qty": item['order_quantity'],"sub_total": unit_price_with_qty,"balace_amount": balace_amount})
result[group_by_str]['total_amount'] = balace_amount
result[group_by_str]['total_quantity'] = total_quantity
else:
result[group_by_str] = {'order__brand_id': item['order__brand_id'],'total_quantity': item['order_quantity'],'total_amount': item['total_price'],"entity_name": entity_name, 'invoice': [{"entity_name": entity_name,"invoice_no": item['order__order_id'],"invoice_date": invoice_date,"product_title": item['product__title'],"flavour_title": item['flavour__title'],"quantity_title": item['quantity__title'],"nyb_code": nyb_code,'unit_price': unit_price,"entity_id": entity_name,"qty": item['order_quantity'],"sub_total": unit_price_with_qty,"balace_amount": item['total_price']}]}
sales_by_customer = list(result.values())