跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 新手求助
  4. 请问怎么把 hr.employee 这张表里的人名在自己 model 的 tree 视图里显示?

请问怎么把 hr.employee 这张表里的人名在自己 model 的 tree 视图里显示?

已定时 已固定 已锁定 已移动 Odoo 新手求助
8 帖子 3 发布者 3.0k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 火 离线
    火 离线
    火灬炎灬焱灬燚
    写于 最后由 编辑
    #1

    我想把 hr.employee 里的人名显示在自己定义的 model 中的 tree 视图里,试了好多办法都不能实现,求大神指教

    1 条回复 最后回复
    0
    • digitalsatoriD 离线
      digitalsatoriD 离线
      digitalsatori 管理员
      写于 最后由 编辑
      #2

      请告诉我们你具体做了哪些尝试,谢谢!

      【上海先安科技】(tony AT openerp.cn)

      1 条回复 最后回复
      0
      • 火 离线
        火 离线
        火灬炎灬焱灬燚
        写于 最后由 编辑
        #3

        就是写了一个方法,从 hr.employee 中获取到 name_related 字段的值,然后把值赋给自己 model 中的字段,但是名字不显示,我用 print 打印什么也没打印出来

        1 条回复 最后回复
        0
        • digitalsatoriD 离线
          digitalsatoriD 离线
          digitalsatori 管理员
          写于 最后由 编辑
          #4

          把你的代码贴出来,我们更方便帮助你。

          【上海先安科技】(tony AT openerp.cn)

          1 条回复 最后回复
          0
          • 火 离线
            火 离线
            火灬炎灬焱灬燚
            写于 最后由 digitalsatori 编辑
            #5
            employee = fields.Char(string=u"姓名", compute="_get_employee_name", required=True)
            passive_employee_line = fields.Many2one("employee.passive.evaluate", string=u"Passive Employee Line", required=True)
            
                def _get_employee_name(self):
                    for record in self.passive_employee_line:
                        for employee in self:
                            employee.employee = record.passive_evaluate.name_related
                            print employee.employee
            
            class EmployeePassiveEvaluate(models.Model):
                _name = "employee.passive.evaluate"
            
                passive_evaluate_id = fields.Many2one("employee.start.evaluate", string=u"Passive Evaluate Id")
                passive_evaluate = fields.Many2one("hr.employee", string=u"被评价人", required=True)
            

            这就是用到的代码

            L 1 条回复 最后回复
            0
            • L 离线
              L 离线
              like_odoo
              在 回复了 火灬炎灬焱灬燚 最后由 编辑
              #6

              @火灬炎灬焱灬燚 你要先看看self.passive_employee_line 里面有没有你想要的值, 再者passive_employee_line字段跟你想要的值有关系 为什么不通过passive_employee_line显示

              1 条回复 最后回复
              0
              • digitalsatoriD 离线
                digitalsatoriD 离线
                digitalsatori 管理员
                写于 最后由 编辑
                #7

                可以把_get_employee_name函数改成:

                @api.depends('passive_employee_line')
                def _get_employee_name(self):
                    self.employee = self.passive_employee_line.passive_evalute.name_related
                

                或者,更简单点,把employee定义为一个related字段:

                employee = fields.Char(related='passive_employee_line.passive_evalute.name_related')

                【上海先安科技】(tony AT openerp.cn)

                1 条回复 最后回复
                1
                • 火 离线
                  火 离线
                  火灬炎灬焱灬燚
                  写于 最后由 编辑
                  #8

                  好的,谢谢,我先试试

                  1 条回复 最后回复
                  0

                  • 登录

                  • 没有帐号? 注册

                  • 登录或注册以进行搜索。
                  • 第一个帖子
                    最后一个帖子
                  0
                  • 版块
                  • 标签
                  • 热门
                  • 用户
                  • 群组