如何在openerp中覆盖约束

时间:2015-01-13 09:03:42

标签: python openerp

我有一个场景,我需要在特殊请求类型下分配叶子,如果总可用叶子是ZERO。我发现有一个约束定义了计算可用叶子的数量,并使用" check_holidays"功能。如何覆盖此功能,以构建我的逻辑..

我在自定义广告中尝试了一些示例,但没有任何正面的内容。

这是我的实施:

class my_leave(osv.osv):
    _inherit:hr.holidays
    _check_holidays = lambda self, cr, uid, ids, context=None: self.check_holidays(cr, uid, ids)
    _constraints = [
      (_check_holidays, "You don't have sufficient leaves to apply. please contact your manager to allocate leaves")
    ]  
    def check_holidays(self, cr, uid, ids,methodname):
        raise Warning("OverRidden Method invoked") 
my_leave()

1 个答案:

答案 0 :(得分:0)

要重新定义python约束,可以通过设置相同的方法函数名称来覆盖它:

在模块中:

class mrp_bom(orm.Model):

    _inherit = 'mrp.bom'



    def _check_product(self, cr, uid, ids, context=None):

        return True



    _constraints = [(_check_product, 'Override of _check_product constraint', ['product_id'])]

(复制)