跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. 如何在表单保存前 调用自己的代码【开发群讨论集】

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

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

    南京-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
    • JoshuaJ 离线
      JoshuaJ 离线
      Joshua 管理员
      写于 最后由 编辑
      #2
      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

      • 登录

      • 没有帐号? 注册

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