odoo10中抽象模型(视图)的访问控制

本文介绍了在Odoo10中如何为一个继承AbstractModel的视图模型实现访问控制。针对管理员和普通用户不同的查看权限,通过重写search_read()方法确保管理员能看到所有记录,而用户只能查看其个人记录。然而,当视图存在分组时,原始的search_read()方法导致分组结果不正确。为了解决这个问题,进一步重写了read_group()方法来调整分组逻辑,使其基于正确的数据进行分组。
摘要由CSDN通过智能技术生成

需求:视图记录访问控制:管理员可以查看全部的,用户只能查看自己的。
对一个继承了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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值