Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

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



  • 设一个字段 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.



  • 设一个字段 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.




  • 重庆-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了.


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待