Odoo: ValueError: Invalid field 'user_id' in leaf
Odoo: ValueError: Invalid field 'user_id' in leaf
我正在尝试创建规则,以限制用户只能在我的模块的树视图中查看他们的记录,但它给我的错误是 'user_id' 字段不存在...
这是我的模型:
class help_desk(models.Model):
_name = 'help_desk.help_desk'
name = fields.Char(string="Title", required=True)
number = fields.Char(string="Mobile", required=True)
规则如下:
<record model="ir.rule" id="per_user_rule">
<field name="name">User: see the individual Record</field>
<field name="model_id" ref="model_help_desk_help_desk"/>
<field name="domain_force">['|',('user_id','=',False),('user_id','=',user.id)]</field>
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
</record>
这是错误:
ValueError: Invalid field 'user_id' in leaf "<osv.ExtendedLeaf: ('user_id', '=', 9) on help_desk_help_desk (ctx: )>"
我猜,我必须将 user_id 字段添加到我的模型中,但我如何将它与当前用户相关联?
我找到了解决办法。我将以下字段添加到我的模型中:
user_id = fields.Many2one('res.users', string='User', track_visibility='onchange', readonly=True,
states={'draft': [('readonly', False)]}, default=lambda self: self.env.user)
默认为当前用户
将user_id
更改为create_uid
create_uid
- 定义创建记录的用户
<field name="domain_force">[('create_uid','=',uid)]</field>
.py 文件
class help_desk(models.Model):
_name = 'help_desk.help_desk'
name = fields.Char(string="Title", required=True)
number = fields.Char(string="Mobile", required=True)
user_id = fields.Many2one('res.users', string='User', track_visibility='onchange', readonly=True, states={'draft': [('readonly', False)]}, default=lambda self: self.env.user)
安全/.xml文件 (ir.rule)
<record model="ir.rule" id="per_user_rule">
<field name="name">User: see the individual Record</field>
<field name="model_id" ref="model_help_desk_help_desk"/>
<field name="domain_force">['|',('user_id','=',False),('user_id','=',user.id)]</field>
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
</record>
我正在尝试创建规则,以限制用户只能在我的模块的树视图中查看他们的记录,但它给我的错误是 'user_id' 字段不存在...
这是我的模型:
class help_desk(models.Model):
_name = 'help_desk.help_desk'
name = fields.Char(string="Title", required=True)
number = fields.Char(string="Mobile", required=True)
规则如下:
<record model="ir.rule" id="per_user_rule">
<field name="name">User: see the individual Record</field>
<field name="model_id" ref="model_help_desk_help_desk"/>
<field name="domain_force">['|',('user_id','=',False),('user_id','=',user.id)]</field>
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
</record>
这是错误:
ValueError: Invalid field 'user_id' in leaf "<osv.ExtendedLeaf: ('user_id', '=', 9) on help_desk_help_desk (ctx: )>"
我猜,我必须将 user_id 字段添加到我的模型中,但我如何将它与当前用户相关联?
我找到了解决办法。我将以下字段添加到我的模型中:
user_id = fields.Many2one('res.users', string='User', track_visibility='onchange', readonly=True,
states={'draft': [('readonly', False)]}, default=lambda self: self.env.user)
默认为当前用户
将user_id
更改为create_uid
create_uid
- 定义创建记录的用户
<field name="domain_force">[('create_uid','=',uid)]</field>
.py 文件 class help_desk(models.Model): _name = 'help_desk.help_desk'
name = fields.Char(string="Title", required=True)
number = fields.Char(string="Mobile", required=True)
user_id = fields.Many2one('res.users', string='User', track_visibility='onchange', readonly=True, states={'draft': [('readonly', False)]}, default=lambda self: self.env.user)
安全/.xml文件 (ir.rule)
<record model="ir.rule" id="per_user_rule">
<field name="name">User: see the individual Record</field>
<field name="model_id" ref="model_help_desk_help_desk"/>
<field name="domain_force">['|',('user_id','=',False),('user_id','=',user.id)]</field>
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
</record>