我使用_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是子级。我选择了这种继承方法,以便更快地创建和修改相关值,以及分离函数(而不是覆盖默认操作的默认方法)。
答案 0 :(得分:2)
在您的父类中重写取消链接。不确定我是否有正确的班级名称。删除子记录,然后删除当前记录。
@api.multi
def unlink(self):
self.uom_id.unlink()
return super(new_product_uom, self).unlink()