我正在尝试重写mrp.bom的create()函数,如果product.template中有一个字段,我将在其中更改该值,但当我按下‘保存’时,我会遇到这个错误:
res = super(bom_override, self).create(vals)
TypeError: super(type, obj): obj must be an instance or subtype of type我寻找了原因,我找到的每一个原因,我检查了我的代码,没有什么可以解决的,我希望任何人都能帮助我。
下面是我的代码:
class bom_override(models.Model):
_name = 'mrp.bom'
_inherit = 'mrp.bom'
@api.model
def create(self, vals):
product_obj = self.env['product.template'].search([('id','=',vals['product_id'])])
product_obj.write({'has_bom':True})
res = super(bom_override, self).create(vals)
return res先谢谢你...
发布于 2015-06-25 16:01:13
请尝试以下操作:
class bom_override(models.Model):
_name = 'mrp.bom'
_inherit = 'mrp.bom'
@api.model
def create(self, cr, uid, vals, context=None):
product_obj = self.env['product.template'].sudo().search_read([('id','=',vals['product_id'])])
product_obj.write({'has_bom':True})
res = super(bom_override, self).create(cr, uid, vals, context=context)
return res发布于 2016-05-09 19:59:20
我已经尝试过覆盖create()函数,它对我很有效。这是我的代码:
class Partner(models.Model):
_inherit = 'res.partner'
....
@api.model
def create(self, vals):
template_obj = self.env['template.partner']
obj = super(Partner, self).create(vals)
template_obj.create({
'local_id' : obj.id,
'name' : obj.name,
'update_date' : datetime.now(),
})
return objhttps://stackoverflow.com/questions/30352383
复制相似问题