SQL语言约束
_sql_constraints:是模型类的一个属性,意思是添加一个数据库的约束
值是一个列表套元组形式,每个元祖是一个数据库约束。
元祖的第一个元素是约束名字,
第二个元素是约束规则(postgresql约束规则),
第三个参数是如果违反约束弹出来的警告信息。
_sql_constraints = [ (‘约束名’, ‘postgresql校验语句’, ‘报错信息!’) ]
例如,唯一性约束:
_sql_constraints = [ (‘xx_uniq’, ‘unique (唯一性的字段,可以多个字段复合)’, ‘存在重复的内容!’) ]
_sql_constraints = [
("partner_or_guest_exists", "CHECK((user_id IS NOT NULL AND guest_id IS NULL) OR (user_id IS NULL AND guest_id IS NOT NULL))", "A bus presence must have a user or a guest."),
]
模型类可以使用控制行为的一些其它属性。以下是最常用的属性:
_name:表名
_description:表描述。
_order:SQL排序
_rec_name:设置记录显示名的字段。默认为name字段
_log_access=False:用于设置不自动创建审计追踪字段,
也即create_uid、create_date、write_uid和write_date。
_auto=False:用于设置不自动创建模型对应的数据表。这时应使用init()方法来编写创建数据库对象、数据表或视图的具体逻辑。