目标: 向拥有购买模块访问权限的所有用户显示所有产品。 但是除之外,上述规则仅显示在参考字段中对创建相同产品的用户具有值'secfab'的产品。
问题: 我尝试使用访问记录,但我构建它的逻辑很弱,我需要帮助。
案例1: [('default_code','!=','secfab'),('created_id','=',user.id)]
如果我对此进行编码,那么我只会获得一条记录,而其他记录则不会显示。
案例2: ['|',('default_code','!=','secfab'),('created_id','=',user.id)]
如果我对此进行编码,那么我只记录所有记录,而且我无法实现我想要的隐私。
任何帮助都将受到高度赞赏。
答案 0 :(得分:3)
你的第二个案例似乎是正确的,除了过滤创建者的条款看起来拼写错误。此拼写错误可能导致规则匹配所有记录,因为无法验证不存在的字段created_id
上的条件。不应该是:
['|', ('default_code', '!=', 'secfab'), ('create_uid', '=', user.id)]
转换为“显示所有没有secfab
代码的产品,以及用户创建的所有产品,无论其代码是什么”,并且似乎做了什么你想要吗?
create_uid
是系统自动添加到_log_access
设置为True
的所有模型的4个字段之一,这是默认值。 OpenERP technical memento和special fields documentation中解释了这一点。