news 2026/4/25 18:36:42

odoo-080 _check_company 相关的属性、方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
odoo-080 _check_company 相关的属性、方法

文章目录

  • 相关属性和方法
  • company 相关属性
  • company 相关方法
  • 总结

相关属性和方法

company 相关属性

字段中属性定义check_company=True

为模型添加 company_id 字段

company_id=fields.Many2one('res.company',string='Company',default=lambdaself:self.env.company)

模型属性定义check_company_auto=True
默认开启全局自动检查

company 相关方法

res.users中定义_check_company()
models.py中定义_check_company()

模型方法中调用_check_company()

总结

`_check_company_auto = True 自动检查的原理

  • 扫描模型中所有关联字段(Many2one, Many2many, One2many)
  • 检查这些关联字段的目标模型是否有company_id字段
特性只设置 _check_company_auto=True在字段中添加 check_company=True
公司检查​✅ 自动为所有关联字段检查✅ 只对标记的字段检查
配置工作量​一次设置,自动应用每个字段都要单独设置
灵活性​自动检测,可能包含不需要的检查精确控制哪些字段需要检查
性能​可能略低(检查所有关联字段)更高效(只检查指定字段)
典型使用场景​简单模型,所有关联都需公司隔离复杂模型,部分关联允许跨公司
是否需要重写_check_company()​❌ 一般不需要❌ 一般不需要
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 2:28:43

10、嵌入式 Linux 开发:BSP 层、内核模块与调试技巧

嵌入式 Linux 开发:BSP 层、内核模块与调试技巧 1. 内核镜像启动与补丁生成 在启动 uImage Linux 内核镜像时,可使用 bootm 命令,格式如下: bootm <kernel_addr> - <dtb_addr>若使用 initramdisk ,则将其作为第二个参数传入;若未使用,则用 - 替代…

作者头像 李华
网站建设 2026/4/24 11:38:16

12、嵌入式系统开发:设备树与软件层定制指南

嵌入式系统开发:设备树与软件层定制指南 1. 设备树基础与操作 在嵌入式系统中,设备树起着至关重要的作用。任何 soc 的子节点都需要使用 reg 属性来定义其内存寻址,该属性包含一个用于地址的单元和一个用于大小的单元。例如,aips - bus 节点使用以下属性进行定义: reg…

作者头像 李华
网站建设 2026/4/23 13:21:02

19、Yocto项目应用开发指南

Yocto项目应用开发指南 1. 额外目录介绍 在Yocto开发环境中,存在一些额外的目录,它们各自承担着重要的功能: - buildtools :这是Yocto构建系统使用的一组与发行版无关的工具集合。其主要作用是消除对主机发行版的依赖,确保构建过程的独立性。 - cache :用于存储本…

作者头像 李华
网站建设 2026/4/23 10:31:59

25、嵌入式系统中的Docker应用开发与调试指南

嵌入式系统中的Docker应用开发与调试指南 1. Docker应用开发 在Wandboard上运行Docker,需要确保Linux内核具备特定的支持。Wandboard的v4.1内核能够运行Docker,但默认配置需要进行调整,例如启用OverlayFS支持等。可以使用脚本(https://raw.githubusercontent.com/moby/mo…

作者头像 李华