Odoo踩坑记录

修饰器踩坑
onchange:在@api.onchange装饰器下的方法里,无法通过self.id直接取用到当前记录的id,这时需要通过以下方法来获取id: self._origin.id,同时在使用前注意判断当前类是否有_origin属性,判断及使用方法如下:

@api.onchange('ps_quantity_qty')
def onchange_quantity(self)
         if hasattr(self,'_origin'):
                   product_template = self.env['product.template'].search([('categ_id','=',self._origin.id)])

onchange:在onchange方法内不建议直接使用self,因为self有包含多条记录的可能(会报expect singleton的错误),建议使用for循环进行处理;

你可能感兴趣的:(Odoo踩坑记录)