【问题标题】:How can I control record insertion on button click event in OpenERP?如何控制 OpenERP 中按钮单击事件的记录插入?
【发布时间】:2015-01-27 21:29:32
【问题描述】:

我在弹出表单上有一个按钮,带有操作方法 action_replace()。在 action_replace() 内部有一个逻辑来替换 BOM 中的产品。模型是product.template。

每当我单击按钮时,都会在 product_template 表中插入一条新记录。此外,在我看来,default_code 字段(来自 product_product 表)也使用空字符串进行了更新(因为 product_product 表中不存在链接到产品 id 的 product_template_id)。

我了解到的是,每当点击按钮时,系统的默认行为是先保存数据,然后执行按钮点击功能。有没有办法避免这些记录插入?

【问题讨论】:

    标签: openerp odoo


    【解决方案1】:

    按钮点击没有任何作用本身。附加到按钮的函数中的代码就是插入这些记录的代码。

    要在单击按钮时获得不同的行为,您应该覆盖 action_replace() 函数。

    【讨论】:

    • Daniel,我了解到的是,每当单击按钮时,系统的默认行为是先保存数据,然后执行按钮单击功能。请对此发表评论。
    • 作为一个测试,我让我的 action_replace() 函数什么都不做,而且每当我点击按钮时,一条记录就会插入到 product_template 表中。
    • 我的按钮函数定义是“def action_replace(self, cr, uid, ids, context=None):”。 ids返回product_template表中新插入记录的id。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多