【odoo postgresql 约束取消】

SQL Constraints

	_sql_constraints = [
		('unique_name','unique_name(name)','名称必须唯一')  ,
		("qweb_required_key","CHECK (type!='qeb' OR key Is NOT NULL)","Invalid inheritance mode:if the mode is ''extension,this view must extend an other")
	]

在odoo中通过模型属性 _sql_constraints 来实现给数据库添加一个数据库层面的约束条件。
格式: 约束名称 , 约束规则 , 警告信息

不再使用该约束时

// 
	_sql_constraints = [
		('unique_name','unique_name(name)','名称必须唯一')  # 
		('unique_name','Check(1=1)','名称必须唯一')  # 改
	]

Odoo @api .Constraints

    @api.constrains('uom_id', 'uom_po_id')
    def _check_uom(self):
        if any(template.uom_id and template.uom_po_id and template.uom_id.category_id != template.uom_po_id.category_id for template in self):
            raise ValidationError(_('The default Unit of Measure and the purchase Unit of Measure must be in the same category.'))
        return True

Odoo的Constraints,通过装饰器@api.constraints(field_name)来定义,里面可以添加复杂的逻辑,每次修改时如果包含了装饰器定义的字段就会触发,通过 raise 阻止保存。

注:@api.constraints 系统内已有违反约束的记录也可以对新记录生效

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值