Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取当前用户';s员工';XML文件odoo 10中的s ID_Xml_Filter_Openerp_Searchview_Odoo 10 - Fatal编程技术网

获取当前用户';s员工';XML文件odoo 10中的s ID

获取当前用户';s员工';XML文件odoo 10中的s ID,xml,filter,openerp,searchview,odoo-10,Xml,Filter,Openerp,Searchview,Odoo 10,我的模型我有一个字段“导师id”,定义为: mentor_id = fields.Many2one('hr.employee', string='Mentor') 在我的SearchView中,我需要添加一个过滤器,该过滤器只显示mentor_id=当前用户员工id的记录 所以我补充说: <filter string="My :" name="my" domain="[('mentor_id','in',uid.employee_ids)]"/> uid指的是当前用户,不是吗?那

我的模型我有一个字段“导师id”,定义为:

mentor_id = fields.Many2one('hr.employee', string='Mentor')
在我的SearchView中,我需要添加一个过滤器,该过滤器只显示mentor_id=当前用户员工id的记录 所以我补充说:

<filter string="My :" name="my" domain="[('mentor_id','in',uid.employee_ids)]"/>
uid指的是当前用户,不是吗?那么为什么错误会说:“对象没有属性‘employee_id’”。
任何帮助都将不胜感激。

在视图中,您只能通过
user.id
我还没有测试,但是您可能会在视图中的
user
变量中获得当前用户对象。您可以在域中使用
user.employee\u id

如果不发生这种情况,您可以做的是:

  • 使用指向函数的compute属性创建与
    res.users
    的manyOne关系
  • 在函数中写入
    self.*feild\u name*=self.env.user
    。您将在视图中获得当前用户对象

谢谢

再次查看您收到的错误

对象没有属性
employee\u id

这表明您没有将
employee_id
字段添加到
res.users
模型中(这就是
uid
所显示的内容)


您能否发布完整的模型,以便我们更好地了解正在进行的关系?

您应该在员工自身上写下导师的用户id。这会更容易。只需添加一个相关字段(不需要设置/显示它,只需在python代码中添加该字段即可):

用这个过滤器代替

<filter string="My :" name="my" domain="[('mentor_user_id', '=', uid)]"/>

@Cherifodo谢谢。
mentor_id = fields.Many2one('hr.employee', string='Mentor')
mentor_user_id = fields.Many2one(
    related='mentor_id.user_id', store=True, readonly=True)
<filter string="My :" name="my" domain="[('mentor_user_id', '=', uid)]"/>