Существует код:Как рассчитать сумму для многих объектов
ids = []
menu = {}
for offer in customer_order.split(';'):
id, count = offer.split(':')
ids.append(id)
menu[int(id)] = int(count)
mList = Goods.objects.filter(id__in=ids,
kind_cost=1).values('id', 'cost')
for item in mList:
id = item['id']
cost = item['cost']
menu[id] = menu[id] * cost
return sum(menu.values())
customer_order
является строка, которая включает в себя: '32: 5; 45: 2; 555: 23' и т.д.
Мой вопрос : Я уверен, что есть лучшее решение для достижения результата. Может ли кто-нибудь помочь мне найти решение? Пожалуйста, поделитесь ссылками, чтобы узнать, как улучшить код.
Tnx!
UPD: Мне нужно суммировать стоимость всех товаров
'customer_order' - это диктофон? 'dict' не имеет метода' split' ... Что вы пытаетесь сделать - вы описываете его словами, а не кодом? –
Что должно делать 'Goods.objects.'? – Marcin
@ Marcin 'Goods' - модель django. 'objects.filter' - запрос базы данных, который возвращает все объекты в этой модели после фильтра (в этом случае« id в идентификаторах AND kind_cost == 1 ») –