Odoo委托继承删除继承类的相应记录

时间:2016-09-14 14:19:48

标签: python inheritance openerp odoo-9

我使用_inherits扩展了默认类。我正在使用Odoo v9。

class new_product_uom(models.Model):  
_inherits = {'product.uom':'uomid', }  
_name = "newproduct.uom" 
uomid = fields.Many2one('product.uom',ondelete='cascade', required=True).
#declare variables and functions specific to new_product_uom
sellable = fields.Boolean('Sell products using this UoM?', default=True)
[...]

如果我删除product.uom中的相应记录,则删除new_product_uom。

如果我要删除new_product_uom记录,则相应的product_uom记录没有任何反应。

我希望在删除任何一条记录时自动删除。有没有办法可以做到这一点?在此先感谢您的帮助。

澄清:

product.uom是默认的odoo类。它包含UoM记录(英寸,厘米等)。我使用委托继承来扩展这个类。看到: https://www.odoo.com/documentation/9.0/howtos/backend.html#model-inheritance

因此,当我为newproduct.uom添加记录时,会在model.uom模型下自动创建一条记录。我可以通过在newproduct.uom中解决它们来在product.uom中分配相应记录的值。

对于我的用途,它将作为Parent->子关系,newproduct.uom是父级,默认product.uom是子级。我选择了这种继承方法,以便更快地创建和修改相关值,以及分离函数(而不是覆盖默认操作的默认方法)。

1 个答案:

答案 0 :(得分:2)

在您的父类中重写取消链接。不确定我是否有正确的班级名称。删除子记录,然后删除当前记录。

@api.multi
def unlink(self):
    self.uom_id.unlink()
    return super(new_product_uom, self).unlink()
相关问题