我的代码很简单。
蟒:
class Test(osv.osv):
_name= 'test.name'
_columns= {
'name' = fields.char('Name')
}
的xml:
<record model="ir.ui.view" id="test_form_view">
<field name="name">Test</field>
<field name="model">test.name</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form version="7.0">
<sheet>
<group>
<field name="name"/>
</group>
</sheet>
</form>
</field>
</record>
我想打开表单视图,与单击one2many字段(使用按钮save&close
,save&new
,discard
)相同,这样我就可以点击“保存”和“新建”按钮直接添加新条目而不关闭并重新打开新表单。
有没有机会这样做? (无需手动创建具有自定义按钮的表单)
答案 0 :(得分:0)
不幸的是,您无法覆盖create
之类的ORM方法以使其调用其他形式,因此我建议您尝试以下方法:
创建一个类似于你的新瞬态模型
模型test.name
,这样:
class YourAbstractModel(osv.TransientModel):
_name= 'your.abstract.model'
_columns= {
'name': fields.char('Name')
}
def create_test_name(self, cr, uid, ids, context):
wizard_info = self.browse(cr, uid, ids)[0]
vals = {
'name': wizard_info.name or False
}
self.pool.get('test.name').create(cr, uid, vals, context=context)
return {
'type': 'ir.actions.act_window',
'res_model': 'your.abstract.model',
'view_mode': 'form',
'view_type': 'form',
'views': [(False, 'form')],
'target': 'new',
}
并创建自己的观点:
<record model="ir.ui.view" id="your_abstract_model_form_view">
<field name="name">Your abstract model form</field>
<field name="model">your.abstract.model</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form version="7.0">
<sheet>
<group>
<field name="name"/>
</group>
<footer>
<button name="create_test_name" string="Create" type="object" class="oe_highlight"/> or
<button special="cancel" string="Cancel" class="oe_link"/>
</footer>
</sheet>
</form>
</field>
</record>
然后修改menuitem,显示你在问题中写的视图,并调用我在这里写的新视图。
如果我理解了这个问题,我想你可以管理你的目的。