我需要在on_change事件后保存记录并在编辑模式下打开表单。
在on_change事件之前查看图片 Before save
在on_change事件后查看图片。 After save
在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>
我该怎么做?
答案 0 :(得分:0)
要保存更改记录,请使用create
方法中的write
替换_on_change_name
,然后只需用鼠标单击鼠标即可查看更改。
你班上的最后一行应该是:
self.env['att.master'].write({'name': self.name, 'qty': self.qty} )