OpenERP商品添加的时候同类商品自动合并方法优化
2014-03-22 22:26
176 查看
通过这次尝试,深入理解了python字典的用法。
在库存入库商品添加的时候,同样的商品我的处理方法(Methon One)和老大指点的优化方法(Two),效率不是一点半点的高:
在库存入库商品添加的时候,同样的商品我的处理方法(Methon One)和老大指点的优化方法(Two),效率不是一点半点的高:
def create(self, cr, uid, vals, context=None): if not vals.has_key('move_lines_apply') or len(vals['move_lines_apply'])==0: raise except_osv(_('Warning'),_("请添加商品后再提交")) #Methon One new_move_lines = {} move_lines_total = {} for move_line in vals['move_lines_apply']: key = move_line[2]['product_id'] value = move_line[2]['product_qty'] new_value = move_lines_total.get(key,0) + value
move_lines_total[key] = new_value move_line[2]['product_qty'] = new_value new_move_lines[key] = move_line #Methon Two move_lines_total = {} for move_lines in vals['move_lines_apply']: key = move_lines[2]['product_id'] value = move_lines[2]['product_qty'] move_lines_total[key] = move_lines_total.get(key,0) + value new_move_lines = [] for line in move_lines_total: num = move_lines_total[line] for move_lines in vals['move_lines_apply']: if line == move_lines[2]['product_id']: move_lines[2]['product_qty'] = num new_move_lines.append(move_lines) break vals['move_lines_apply'] = new_move_lines.values() vals['state'] = 'wait_picking' return super(stock_picking_apply, self).create(cr, uid, vals, context=context)
相关文章推荐
- QTP在录制脚本的时候会将鼠标点击过的对象自动添加到对象库中,而那些未被点击过的对象将不会被添加,导致针对某一对象手动添加的脚本运行不通过,因此需要手动把测试对象添加到对象库中,方法如下:
- 自动解析复杂类的属性 实现归档或者进行序列化 反序列话的时候为每一个属性添加序列化方法的繁琐
- 日期,为下拉列表添加日期,优化,目前本人博客上最优的解决方案,之前学习的通过判断得到平年闰年,而这个是让系统自动去判断,无须if判断,代码示例
- vim 创建Python脚本时候自动补全解释器和编码方法
- Win 7 下ArcGIS Server登录manger成功,add NEW servers的时候添加resoures成功,就是finish后出现如下问题的解放方法
- MyEclipse添加spring xml配置文件自动提示方法
- 自动添加日期的方法
- 商品添加-选择商品类型自动加载商品属性
- iOS UIImage扩展方法(category):放大、旋转、合并UIImage、增加渐变层、添加阴影、调节透明度、保存到相册
- Myeclipse在启动tomcat的时候自动跳到debug的解决方法
- ECSHOP 商品页详情页 添加同类随机商品
- ubuntu添加开机自动运行程序方法
- VS中实现为类自动添加 个人版本信息 的方法
- Asp.net程序优化js、css实现合并与压缩的方法
- Javascript自动为对象添加getter/setter方法(闭包方式)
- myeclipse10添加jQuery自动提示的方法
- UBUNTU添加开机自动启动程序方法
- 分享一个Flex管理系统 Session超时的时候 用户操作时自动提示并跳转到登陆页面的方法
- linux下添加自动启动项,linux 开机自动启动脚本方法
- C#中基于GDI+(Graphics)图像处理系列之UEditor上传图片自动压缩优化(添加水印)