查看“模型约束”的源代码
←
模型约束
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看并复制此页面的源代码:
为了加强数据完整性,模型还支持两种类型的约束:SQL和Python。SQL约束添加到L数据库表定义和直接PostgreSQL执行。他们是使用sql_constraints定义的类属性。这是一个列表的元组:约束标识符名称;约束的SQL,供使用的错误消息。一个常见的用例是为模型添加唯一的约束。假设我们不想让活动任务具有相同标题: <nowiki># class TodoTask(models.Model):</nowiki> _sql_constraints = [ ('todo_task_name_uniq', 'UNIQUE (name, active)', 'Task title must be unique!')] Python约束可以使用一段任意代码来检查条件。检查函数应该使用@api.constraints 修饰,说明被检查的字段的列表。当其中任何一个被修改,并且在条件失败时将会抛出一个异常,验证就会被触发。 例如,为了验证任务名称至少有五个字符长,我们可以添加以下约束: from odoo.exceptions import ValidationError <nowiki># class TodoTask(models.Model):</nowiki> @api.constrains('name') def _check_name_size(self): for todo in self: if len(todo.name) < 5: raise ValidationError('Must have 5 chars!') 上一节:[[关联字段]] 下一节:[[第五章 小结]]
返回至
模型约束
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
odoo 中文开发手册
odoo 开发参考
odoo 实施笔记
Odoo 最佳方案
关于 OdooV
Odoo FAQ
工具
链入页面
相关更改
特殊页面
页面信息
友情链接
odoo官网
odoo中文网
odoo实施