有代碼:如何計算總和許多對象
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'方法....你在做什麼 - 你用文字而不是代碼來描述它? – 2015-02-05 23:15:15
'Goods.objects.'應該做什麼? – Marcin 2015-02-05 23:26:15
@Marcin'Goods'是一個django模型。 'objects.filter'是一個數據庫查詢,它返回該模型中所有在該過濾器後面的對象(在這種情況下,'id in ids AND kind_cost == 1') – 2015-02-05 23:31:29