如何在odoo中删除子模型(使用继承主模型创建)的记录时删除主模型的记录

时间:2016-08-24 07:51:10

标签: python odoo-8

在我的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

1 个答案:

答案 0 :(得分:1)

在字段定义中使用属性 ondelete =' cascade'

main_ref = fields.Many2one('main.model', ondelete='cascade' )

希望它能解决你的问题。