odoo10下设置onchange方法定时执行

本文介绍如何在Odoo10中设置一个onchange方法,使其能够定时执行,而非仅在字段值改变时触发。通过自定义模块,可以在form视图的创建和编辑状态下启动定时器,按设定的毫秒间隔调用后台方法。模块源码提供下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因圈内朋友需求,某个字段的值是通过后台py方法获取,业务逻辑是写在该字段的onchange方法中,前台操作时,默认只有该字段值发生改变时才会触发后台方法,现在他希望前台js能定时触发该字段的onchange事件,调用后台方法返回值。

经过分析odoo的onchange触发机制及工作流程,写了一个模块,可以方便开发人员处理该类型的业务需求。

安装该模块后,针对需处理的字段定义一个onchange方法,如下所示。

class test(models.Model):
    _inherit = "res.partner"

    test_time = fields.Datetime("Test Time")

    @api.onchange("test_time")
    def _onchange_test_time(self):
        self.test_time = fields.Datetime.now() 

然后在view定义中加入如下所示内容,interval表示毫秒时间间隔.

<record id="vnsoft_test_res_prtner_form_view" model="ir.ui.view">
            <field name="name">vnsoft.test.res.partner.form.view</field>
            <field name="model">res.partner</field>
            <field name="inherit_id" ref="base.view_partner_form"/>
            <field name="arch" type="xml">
                <xpath expr="//field[@name='category_id']" position="after">
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值