有代码:如何计算总和许多对象
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