跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. Self.read 读取指定记录的指定字段 的小观念及方式.

Self.read 读取指定记录的指定字段 的小观念及方式.

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
3 帖子 1 发布者 2.6k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • D 离线
    D 离线
    digitalwow
    写于 最后由 编辑
    #1

    设一个字段 employee_id  是 many2one('hr.employee',..... (跳过).
    运作正常. 也可write 数据.
    现在我要取得 employee_id 的值.
    emp_id = self.read(cr,uid, ids,['employee_id','date_to'])
    emp_id1 = emp_id[0]['employee_id'] or 1
    我用 excespt 方式看看取出的值对不对
    raise osv.except_osv(('Warning!'),('Notice : emp id : ' + str(emp_id1) + ' \n' + str(ids)  )  )

    应该回传是 1 才对啊...会什么会出现. (1,u'Administrator') 这整串字啊..
    因为数据库是 1.

    1 条回复 最后回复
    0
    • D 离线
      D 离线
      digitalwow
      写于 最后由 编辑
      #2


      重庆-mrshelly(49812643)  14:22:11
      read 出来的就是 (id, name) 的组合.

      杭州-猴哥(605620619)  14:25:50
      emp_id[0]['employee_id'][0] 吧

      上海-就这样(1683223795)  15:19:23
      多方试的结果.似乎和字段的 fields 方式有关.
      若字段是 many2one 的话 则又会回传 hr.employee 的  (id, name) 的list组合. 则再加index 取值. 如 杭州-猴哥的方式.
      若字段是 text, datetime, selection 的fields 设置则直接用 emp_id[0]['XXX']
      就可.
      感谢 重庆-mrshelly, 杭州-猴哥  提示.解说.

      重庆-mrshelly(49812643)  15:21:39
      要是发到BBS里就靠谱了...
      many2one 在 read 的时候就表现为 (id, name) 的 tuple
      many2one 在 write 的时候, 直接使用id 就OK了.

      1 条回复 最后回复
      0

      • 登录

      • 没有帐号? 注册

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