Odoo外键约束

作者: luohuayong | 来源:发表于2017-04-10 10:24 被阅读388次

Odoo 的模型关联是直接使用postgresql数据库的表外键。Odoo的写法如下:

    instructor_id = fields.Many2one('res.partner', string="Instructor")
    course_id = fields.Many2one('openacademy.course',
        ondelete='cascade', string="Course", required=True)

其中ondelete属性值,对应postgresql的外键约束 ON DELETE,取值说明:

NO ACTION
如果违反外键约束会产生一个错误。如果约束被延迟,那么到事务结束检查约束时如果仍然因为存在一个引用行而违反外键约束,则仍会产生错误。这是默认值。其他的动作action都不能被延迟。

RESTRICT
违反外键约束会产生一个错误。

CASCADE
级联删除或更新。分别删除一个引用行或者更新一个引用列的值。

SET NULL
设置引用列(referencing column(s))的值为null

SET DEFAULT
设置引用列为其缺省值。如果缺省值不是null,那么仍然需要被引用表中有一条记录的被引用字段的值与之匹配,否则操作会失败。

相关文章

  • Odoo外键约束

    Odoo 的模型关联是直接使用postgresql数据库的表外键。Odoo的写法如下: 其中ondelete属性值...

  • 5 MySQL 命令

    [Toc] 1 禁用外键约束 禁用外键约束:SET FOREIGN_KEY_CHECKS=0 启用外键约束:set...

  • 外键约束

    外键约束主要包含添加外键和删除外键。 1、外键约束-添加外键 create table 表名(字段名 数据类型,....

  • SQL Server 临时禁用和启用所有外键约束(迁移数据或删除

    获得禁用所有外键约束的语句 获得启用所有外键约束的语句 执行结果

  • sql 添加索引,外键约束

    索引 外键约束

  • Mysql foreign key and trigger

    外键约束与触发器 建表 主表 users 副表 user_info 外键约束 副表 user_info 添加外键约...

  • SQL中增删外键约束

    1. 删除外键约束 查询出表中外键约束 删除约束alter table 表名 drop constraint 外键...

  • 外键约束

    约束:NOT NULL,PRIMARY KEY,UNIQUE KEY,DEFAULT,FOREIGN KEY 约束...

  • 外键约束

    外键约束的本质就是增加数据的可重复利用性。也就是说假如我们有一个省份的表:P表,这个表里存储着中国34个省份名称并...

  • 外键约束

    外键的定义: 如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。 外键的作用 ...

网友评论

    本文标题:Odoo外键约束

    本文链接:https://www.haomeiwen.com/subject/szetattx.html