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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Odoo中给字段填加唯一性约束相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

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

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

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

以上是关于Odoo中给字段填加唯一性约束的主要内容,如果未能解决你的问题,请参考以下文章

SQLServer主键和唯一约束的区别

唯一约束

Oracle字段约束

mongodb 索引唯一性约束

MySQL 表字段唯一性约束设置方法unique

postgresql字段值唯一约束