在我的odoo应用程序中,我有两个模型。一个主要模型和一个儿童模型。
主要模型
class main_model(models.Model):
_name = 'main.model'
我的孩子模特是
class child_model(models.Model):
_inherits = {
'main.model: 'main_ref'
}
_name = 'child.model'
main_ref = fields.Many2one('main.model')
用这个编码。当我在子模型中创建记录时,也会在主模型中创建记录。但是当我删除子模型中的记录时,主要的相应记录也应该被删除。
为此,我所做的就是......
@api.multi
def unlink(self):
self.main_ref.unlink()
return super(child_model, self).unlink()
但这不起作用。它显示错误为..
The operation cannot be completed, probably due to the following:- deletion: you may be trying to delete a record while other records still reference it- creation/update: a mandatory field is not correctly set
答案 0 :(得分:1)
在字段定义中使用属性 ondelete =' cascade' 。
main_ref = fields.Many2one('main.model', ondelete='cascade' )
希望它能解决你的问题。