Odoo 为什么列表能看见,点进去却报权限错误:ACL 与记录规则域合并顺序
用户能在列表里看到记录,点进详情却报权限错,常见原因不是单纯“没给权限”,而是 ACL、全局规则、组规则和关联模型读取顺序叠在了一起。
TOPIC PICKS
用户能在列表里看到记录,点进详情却报权限错,常见原因不是单纯“没给权限”,而是 ACL、全局规则、组规则和关联模型读取顺序叠在了一起。
可以顺着继续读的相邻方向
结合 cloud_storage_migration 源码,讲清 Odoo 如何用 checkpoint、批量切片和预提交标记,把本地附件迁移到云存储做成可续跑、少重复上传、尽量不阻塞业务的链路。
很多人以为 Odoo 默认值只有字段 default。其实 models.py 的 default_get 明确按 context、ir.default、field.default、company_dependent fallback 与 inherited 字段委托顺序取值。
嵌入式动作看起来像“只给某条记录用”的快捷入口。实际上,它会同时看 active_id、父记录、用户、分组和 domain。
很多人勾选一个组以后,发现用户权限自己多了一串组。真正原因不是后台在“乱补”,而是 res.groups 通过 implied_ids 计算 all_implied_ids,再让用户 all_group_ids 获得传递闭包;portal、public、employee 这类组还存在互斥约束。
计算字段不只取决于数据库值,也取决于上下文。公司、日期和货币一变,ORM 就需要知道该重新算哪一份结果。
Odoo 的权限不是一把锁,而是多层门禁:模型访问、记录规则、组继承和 sudo 各管一段,缺一层就会误判。