我想问一下带动作按钮的one2many字段表单视图。
我有一个带有one2many字段的模型。我想在one2many表单视图中添加按钮,但是,当我在视图中添加该按钮时,它仅以只读模式显示。我不知道应该使用哪个模型/对象,所以如何添加该按钮的模型。
我的代码就是这样:
class main_model(osv.osv):
_name = "main.model"
_columns = {
'other_model_ids':fields.one2many('other.model','main_id','Other'),
}
class other_model(osv.osv):
_name = "other.model"
_columns = {
'name':fields.char('Name'),
'code':fields.char('Code'),
'main_id':fields.many2one('main.model','Main'),
}
...
<field name="model">main.model</field>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="other_model_ids">
<tree string="Other Model">
<field name="name"/>
<field name="code"/>
</tree>
<form string="Other Model">
<group>
<field name="name"/>
<button name="generate_code" string="Generate Code" type="object"/>
<field name="code"/>
</group>
</form>
</field>
</field>
...
我想在one2many表单视图中添加该按钮。
button name="generate_code" string="Generate Code" type="object"...
但该按钮不知道哪个型号属于此。如果您知道并有时间,请解释我。感谢。
答案 0 :(得分:1)
在我看来:
1.您应该在模型下定义功能:
例如:
class other_model(osv.osv):
_name = "other.model"
_columns = {
'name':fields.char('Name'),
'code':fields.char('Code'),
'main_id':fields.many2one('main.model','Main'),
}
@api.one
def generate_code(self):
pass
2.你可以试试这个:
<field name="model">main.model</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Main Model">
<notebook>
<page string="Other Models">
<field name="Other Model">
<tree>
<field name="name"/>
<field name="code"/>
<button name="generate_code" string="Generate Code" type="object"/>
</tree>
</field>
</page>
</notebook>
</form>
</field>
我希望这会对你有帮助。