odoo 访问权限错误

虽然odoo的错误提示已经很完善了,但是还是有些时候不能快速定位问题的原因,比如,我在写一个新的报表的时候,提示了如下这么一个错误:

1
2
3
4
The requested operation ("read" on "Users" (res.users)) was rejected because of the following rules:


(Records: 管理员 (id=2), User: 管理员 (id=2))

看样子是某个规则出了问题,但是却没有提示是哪个规则。

没办法 ,我们只好在代码中加日志输出,然后发现了程序访问了两次res.users的对象,尽管查询的字段都一样,但是返回的结果却是不同的,造成了上面的一个困惑:当前用户是管理员却访问不了管理员对象???

实际上,这个错误提示的并不清晰,虽然提示的是res.users对象,实际的错误确实发生在访问res.users的partner_id字段时,也就是真正的错误原因是res.partner对象引起的。

经过排查,发现错误的原因是限制了管理员的res.partner的访问导致了该问题。

你的支持我的动力