Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

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

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

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

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

    如何在表单保存前 调用自己的代码【开发群讨论集】

    Odoo 开发与实施交流
    2
    3
    1854
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • C
      ccdos 最后由 编辑

      南京-ccdos(1431494) 14:20:57
      请教下,
      类似  的字段的 on_change
      有没有针对整个表单 的  on_save ?
      就是保存之前能被调用的
      上海-Jeff(85822082) 14:23:04
      write
      南京-ccdos(1431494) 14:23:30

      上海-Jeff(85822082) 14:23:59
      继承重载write方法,记得调用super.write()
      合肥-杨振宇<[email protected]> 14:32:20
      create别忘记了。
      重庆-mrshelly(49812643) 14:33:12
      两个方法太麻烦了.
      南京-ccdos(1431494) 14:34:11
      我想在 addons 里面找个例子

      都好复杂
      重庆-mrshelly(49812643) 14:37:11
      我现在给你写一个.
      重庆-mrshelly(49812643) 14:38:03
      def write(self, cr, uid, ids, vals, context=None):
          if ids:
              raise
          return super(xxxxooooo, self).write(cr, uid, ids, vals, context=context)

      上海-Joshua(470534800) 14:45:09
      addons里面有很多重写write的..
      【提示:此用户正在使用Q+ Web:http://web.qq.com/】
      上海-Joshua(470534800) 14:46:54
      def write(self, cr, uid, ids, vals, context=None):       
          if isinstance(ids, (int, long)):           
              ids = [ids]
      重庆-mrshelly(49812643) 14:47:06

      上海-Joshua(470534800) 14:47:08
      开头最好判断下ids是不是一个int
      上海-Joshua(470534800) 14:47:15
      要不然~嘿嘿
      重庆-mrshelly(49812643) 14:47:18

      重庆-mrshelly(49812643) 14:47:26
      经验之潭.....
      重庆-mrshelly(49812643) 14:47:34
      痰...
      重庆-mrshelly(49812643) 14:47:36
      弹
      重庆-mrshelly(49812643) 14:47:38
      谈..
      南京-ccdos(1431494) 14:47:42

      上海-Jeff(85822082) 14:48:40
      [move]到论坛上去发帖[/move]
      南京-海飞(330472962) 14:58:40
      write好像id也没关系
      【提示:此用户正在使用Q+ Web:http://web2.qq.com/】
      重庆-mrshelly(49812643) 15:01:50
      8火能...
      南京-海飞(330472962) 15:03:18
      self.pool.get('stock.picking').write(cr, uid, check.picking_id.id, {'psi_pass': True}, context=context)  这句执行没有任何压力啊


      上海-Joshua(470534800)  15:05:38
      其实那个检查int的就是在orm的write里面的,不过重写的时候,因为我们不知道进来的是int还是list,所以建议加,

      1 条回复 最后回复 回复 引用 0
      • Joshua
        Joshua 管理员 最后由 编辑

        def write(self, cr, uid, ids, vals, context=None):&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; if isinstance(ids, (int, long)):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; ids = [ids] 
        


        这段是因为我们在执行write的时候输入的ids有可能是int或者list,建议还是统一变为list来处理

        【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

        1 条回复 最后回复 回复 引用 0
        • First post
          Last post