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,为我带来了正确的输出。