2

目标:向所有有权访问购买模块的用户展示所有产品。但是,除了上述规则之外,仅向创建相同产品的用户显示在参考字段中具有值 'secfab' 的产品。

问题:我尝试使用访问记录,但构建它的逻辑很弱,我需要帮助。

案例一:[('default_code','!=','secfab'),('created_id','=',user.id)]

如果我对此进行编码,那么我只会得到一条记录,而不会显示其他记录。

案例2:['|',('default_code','!=','secfab'),('created_id','=',user.id)]

如果我对此进行编码,那么我只会记录所有记录,而我无法获得我想要的隐私。

任何帮助将不胜感激。

4

1 回答 1

3

您的第二种情况似乎是正确的,除了过滤创建者的子句看起来拼写错误。此错字可能会导致规则匹配所有记录,因为created_id无法验证不存在字段的条件。不应该是:

['|', ('default_code', '!=', 'secfab'), ('create_uid', '=', user.id)]

转换为“显示所有没有secfab代码的产品,以及用户创建的所有产品,无论他们的代码如何”,并且似乎做了你想要的?

create_uid是系统自动添加到所有已_log_access设置为的模型的 4 个字段之一True,这是默认值。这在OpenERP 技术备忘录特殊领域文档中有解释。

于 2012-07-05T09:27:42.750 回答