Oddo 9 - many2one 字段中的 "Create and Edit" 选项
Oddo 9 - "Create and Edit" option in a many2one field
当odoo中的模型中有many2one字段时,可以从下拉菜单中选择select "create and edit"。这将调出一个 window 允许您创建一个新记录。我如何预填充此新记录中的字段之一?
在模型 "res.partner" 中,我有:
name = fields.Char(string="Name",size=32)
abc_contract_id = fields.Many2one('abc_sale.vendor.contract','Contract')
在模型 "abc_sale.vendor.contract" 中,我有:
abc_vendor_id = fields.Many2one('res.partner', 'Vendor',required=True)
我想在 abc_contract_id
中单击 "create and edit" 选项时将 "name" 的值预填充到 "abc_vendor_id"
您还可以将默认操作中的上下文添加到您的 many2one 模型的表单视图中,例如:-
<record id="custom_id" model="ir.actions.act_window">
<field name="name">Maintenance Requests</field>
<field name="res_model">Your_model</field>
<field name="view_mode">kanban,tree,form</field>
<field name="context">{
'search_default_category_id': [active_id],
'default_category_id': active_id,
'default_fieldname': 'your_custom_value' or anyfieldname
}</field>
</record>
要在单击 abc_contract_id
中的 Create and Edit
选项时填充 abc_vendor_id
使用 context
传递默认值:
<openerp>
<data>
<record model="ir.ui.view" id="base_view_partner_form_inherit">
<field name="name">res.partner.form</field>
<field name="model">res.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="abc_contract_id" context="{'default_abc_vendor_id': id}"/>
<field name="id" invisible="True"/>
</field>
</field>
</record>
</data>
</openerp>
<field name='abc_contract_id' context="{'default_abc_vendor_id': active_id}"/>
像这样添加活动 ID,为我带来了正确的输出。
当odoo中的模型中有many2one字段时,可以从下拉菜单中选择select "create and edit"。这将调出一个 window 允许您创建一个新记录。我如何预填充此新记录中的字段之一?
在模型 "res.partner" 中,我有:
name = fields.Char(string="Name",size=32)
abc_contract_id = fields.Many2one('abc_sale.vendor.contract','Contract')
在模型 "abc_sale.vendor.contract" 中,我有:
abc_vendor_id = fields.Many2one('res.partner', 'Vendor',required=True)
我想在 abc_contract_id
中单击 "create and edit" 选项时将 "name" 的值预填充到 "abc_vendor_id"您还可以将默认操作中的上下文添加到您的 many2one 模型的表单视图中,例如:-
<record id="custom_id" model="ir.actions.act_window">
<field name="name">Maintenance Requests</field>
<field name="res_model">Your_model</field>
<field name="view_mode">kanban,tree,form</field>
<field name="context">{
'search_default_category_id': [active_id],
'default_category_id': active_id,
'default_fieldname': 'your_custom_value' or anyfieldname
}</field>
</record>
要在单击 abc_contract_id
中的 Create and Edit
选项时填充 abc_vendor_id
使用 context
传递默认值:
<openerp>
<data>
<record model="ir.ui.view" id="base_view_partner_form_inherit">
<field name="name">res.partner.form</field>
<field name="model">res.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="abc_contract_id" context="{'default_abc_vendor_id': id}"/>
<field name="id" invisible="True"/>
</field>
</field>
</record>
</data>
</openerp>
<field name='abc_contract_id' context="{'default_abc_vendor_id': active_id}"/>
像这样添加活动 ID,为我带来了正确的输出。