如何添加 _sql_constraints 来检查 odoo 中的字符字段长度?

How to add _sql_constraints to check char field lenght in odoo?

我有一个fields.Char属性“identification_id”,那个字段必须有11个字符。如何添加 _sql_constraints 来检查该字段的长度并确保它应该是 11?

您可以使用Check Constraints with length函数

_sql_constraints = {
    ('check_name', 'check(length(name)>10)', 'name must be at least 11 characters')
}

编辑:

如果您已有不满足条件的记录,则不会添加约束条件:

ERROR demo odoo.sql_db: bad query: ALTER TABLE "hr_employee" ADD CONSTRAINT "hr_employee_check_name" check(length(name)>10)
ERROR: ERROR:  The verification constraint "hr_employee_check_name" is broken by a line