Odoo中给字段填加唯一性约束

在进行Odoo二次开发的时候,经常会遇到一些字段要进行唯一性验证,例如学生档案管理系统中学生信息的学号,业务管理系统中的一些业务标识字段。

例如最近在开发一款基于车辆的业务系统,所有业务订单都是基于一辆车辆进行的,为避免不同业务员输入同一车辆的订单,就需要在业务员录入车辆号的时候对车牌号进行唯一性验证,如果系统中已经存在该车辆车牌号则跳出提示,阻止该业务的录入。

如何实现Odoo中这种字段唯一值的约束呢?

首先,我们定义一个普通字段cph,如下:

cph = fields.Char('车牌号')

接下来,我们在_sql_constraints中添加对应的约束定义,如下:

_sql_constraints = [ ('check_uniq_cph', 'unique(cph)', '车牌号已经存在!')   ]  

括号中三个参数依次是约束定义名、约束定义内容、弹出提醒内容。

在_sql_constraints定义中可以填写多个字段的约束定义,每个用()包裹,之间用逗号分隔开即可。

这样,在输入重复的车牌号后点击保存时,系统则跳出下面的提示框,并停止保存动作:

重复值检测
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容