openerp学习笔记 数据合法性约束(对象约束+数据库约束)
2015-07-18 00:34
489 查看
openerp学习笔记 数据合法性约束(对象约束+数据库约束)
#检测同一时间段内是否存在相同的请假单,False 是存在,不允许创建def _check_date(self, cr, uid, ids):
for rec in self.browse(cr, uid, ids):
search_ids = self.search(cr, uid, [('date_from', '<=', rec.date_to), ('date_to', '>=', rec.date_from), ('employee_id', '=', rec.employee_id.id), ('id', '<>', rec.id)])
if search_ids:
return False
return True
#对象约束,一般用于业务逻辑复杂,无法通过创建数据库约束实现的情况
_constraints = [
(_check_date, u'您在相同的时间段内不允许创建多张请假单!', [u'起始日期',u'结束日期']),
]
#数据库约束,最底层级别的约束,模块安装后对象将在 PostgreSQL 对应的表中创建约束
_sql_constraints = [
('date_check', "CHECK (date_from <= date_to)", u"开始日期必须小于结束日期."),
('days_check', "CHECK (days > 0 )", u"请假天数必须大于 0 ."),
]
相关文章推荐
- mysql之触发器
- MySQL导入和导出数据库的方法
- linux_oracle配置文档
- 关于MySQL workBench表属性的BIN,AI等含
- reids使用
- 数据库常用语句
- JDBC连接MySQL数据库
- registered the JDBC driver [com.mysql.jdbc.Driver]
- Oracle数据库是一个大家都非常熟悉的数据库管理系统,是工作中会经常要用到的,关于Oracle数据库中的dba和sysdba相信很多人都会经常把他们两个给搞混了,下文中将为大家讲解Oracle中db
- mysql的存储过程
- MySQL 迁移
- [LyncServer2013企业版迁移SkypeForBusinessServer2015企业版]二,部署第一台后端数据库服务器
- SQL数据库-TSQL语法实例介绍
- MySQL学习笔记之<入门教程>
- Node.js使用MySQL的连接池
- mysql处理海量数据时的一些优化查询速度方法
- SQL优化的四个方面,缓存,表结构,索引,SQL语句
- MySQL导入及常用命令
- oracle中插入数据出现乱码问题的解决
- 学习MongoDB 六: MongoDB查询(游标操作、游标信息)(三)