需求:视图记录访问控制:管理员可以查看全部的,用户只能查看自己的。
对一个继承了AbstractModel的模型(没有实体表,是个视图)添加管理员控制权限时,发现记录访问控制并不能生效。如下:
<record id="rule_id" model="ir.rule">
<field name="name">name_xx_xx</field>
<field name="model_id" ref="model_xx_xx"/>
<field name="groups" eval="[4, ref('groups_id_xx')]"/>
<field name="domain_force">[]</field>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
解决方法:
在定义的抽象模型下重写search_read()方法:
@api.model