Odoo第三方模块Mass edit更新至odoo11,name ‘basestring’ is not defined ,ValueError: Invalid domain term

Odoo第三方模块Mass edit更新至odoo11:name 'basestring' is not defined ,ValueError: Invalid domain term

有时候会需要批量编辑某个字段多条记录的值,
比如,批量把用户的时区设为上海,用户很多时,一个个改,还是很费时间的,
在有mass edit这个模块之前,可以通过系统自带的导出,然后修改,再导入来实现,
或者写个server action,
有了mass edit,这些就变得方便了,
不知为何,OCA迟迟没有把这个模块更新到v11, 而官网上那个v11的版本又会报错,
在石家庄老刘和我们工程师小张的努力下,修改了3个地方,模块又能用了。

  • 我们把代码也放到了github上:https://github.com/zykj/mass_edit_v11

具体改了下面几个地方

  1. 目录名要修改为mass_edit,
  2. mass_object.py中 unlink_action 方法需要注释掉一行(感谢-石家庄老刘),
            # see line 27
            #self.mapped('ref_ir_value_id').sudo().unlink()
  1. mass_object.py中增加一行,这样就能正确用在那些 _inherits 继承的对象上了,比如 res.user用户:
keys = list(keys) 
  1. xml 中的domain这里要修改下,这是因为python3.x map返回的是object,而2.7中map的返回的是列表,改为
                            domain="[('ttype', 'not in', ['reference', 'function']), ('model_id', '=', model_id)]"/>

支付宝扫一扫赞助

微信钱包扫描赞助

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: