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

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

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

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

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

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



  • 南京-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,所以建议加,


  • 管理员

    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来处理


Log in to reply