-1
我需要保存記錄並在on_change事件後以編輯模式打開表單。Odoo 8.0:在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>
我怎樣才能做到這一點?
我覺得這段代碼並沒有真正的ID。我需要一個真實的ID來代替self.id字段中的一個NewID對象 – atimtim
您可以使用NewId來瀏覽記錄,例如'self._browse(self.env,(self.id,))' – Zety