【转载】odoo技术开发白皮书 第二部分 第十四章 用户与组

本文介绍了Odoo系统中用户与组的概念及其编程实现。重点讲述了如何通过动态域过滤特定组的用户,并提供了实例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载:http://book.odoomommy.com/chapter2/README17.html

第十七章 用户与组

我们在第一部分中简要地介绍过系统的用户与组的概念,但是并没有在编程意义上的深入探讨。其实用户(res.users)和组(res.group)是两个关于全局的重要对象,通常他们与系统的权限紧密相联。

用户

用户在系统中的对象是res.users

字段中的过滤

有时候,我们会有这样的需求,在某个引用了用户对象的Many2one字段中,对某个组的用户进行过滤,例如,这里有某个对象的字段engineer使用Many2one关联了用户这个对象,而此时用户想要这个字段只能显示某个组内的用户。

这种情况下,通常的domian写法已经不能满足我们的要求,因此组对象不是一个特定的值,需要依赖系统生成的ID,因此我们需要借助ref方法来动态获取这个组对象的id,我们可以将domian使用一个函数将其动态地返回。

def _get_enginneer_domain(self):
    return [('groups_id','in',self.env.ref('juhui_purchase.group_purchase_test').id)]

engineer = fields.Many2one("res.users",string="工程师", compute=_get_enginneer_domain)

需要注意的是,这里的组必须是由xml定义的组,用户在系统中手动创建的组是不能满足要求的,因为他们没有xmlid,也就无法被ref方法获取。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值