-1

我需要在 on_change 事件后保存记录并以编辑模式打开表单。

见 on_change 事件 前的图片 保存前

在 on_change 事件之后查看图片。 保存后

我需要在 on_change 事件之后保存记录。我需要在编辑模式下重新绘制表单。

班上:

from openerp import models, fields, api

class Master(models.Model):
    _name = 'att.master'

    name = fields.Char("Name")
    qty = fields.Integer("Qty")

    @api.onchange('name')
    def _on_change_name(self):
        if self.name:
            self.qty += 100
            print 'The on_change event was happened'
            self.env['att.master'].create({'name': self.name, 'qty': self.qty} )

风景:

<?xml version="1.0" encoding="UTF-8"?>
 <openerp>
    <data>
        <!-- form AGREEMENT -->
        <record model="ir.ui.view" id="att_master_view_form">
            <field name="name">Master</field>
            <field name="model">att.master</field>
            <field name="arch" type="xml">
            <form string="Master">
                    <sheet>
                        <group colspan="4">
                                <field name="name"/>
                                <field name="qty"/>
                                <field name="id"/>
                        </group>
                    </sheet>
            </form>
            </field>
        </record>

        <record model="ir.ui.view" id="att_master_view_tree">
            <field name="name">List of master</field>
            <field name="model">att.master</field>
            <field name="arch" type="xml">
                <tree string="List of master">
                    <field name="name"/>
                    <field name="qty"/>
                    <field name="id"/>
                </tree>
            </field>
        </record>

        <!-- window action -->
        <record model="ir.actions.act_window" id="att_master_list_action">
            <field name="name">Master</field>
            <field name="res_model">att.master</field>
            <field name="view_mode">tree,form</field>
        </record>

        <menuitem id="att_master_menuitem" name="Master"
                  parent="att_menu_agreement"
                  action="att_master_list_action"/>
    </data>
</openerp>

我怎样才能做到这一点?

4

1 回答 1

0

要编写新的qty,您只需使用:

self.qty = new_value

来自onchange文档:

onchange方法对这些记录的虚拟记录分配不会写入数据库,只是用于知道将哪个值发送回客户端

Save单击按钮时,新数量将保存到数据库中

于 2015-11-05T13:03:03.723 回答