Oddo 9 - "创建和编辑" many2one字段中的选项

时间:2017-04-13 09:26:17

标签: python xml openerp odoo-9

如果在odoo中的模型中有多个字段,则可以选择"创建和编辑"从下拉菜单中。这会打开一个窗口,允许您创建新记录。如何预先填充此新记录中的一个字段?
在模型" 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)

我想预先填充" name"的价值。到" abc_vendor_id"当我点击"创建和编辑" abc_contract_id中的选项

3 个答案:

答案 0 :(得分:0)

您还可以将默认操作中的上下文添加到many2one模型的表单视图中,如: -

$countries = $em->getRepository("MyBundle:Country")->findBy(array('distinct' => true));

答案 1 :(得分:0)

要点击abc_vendor_idCreate and Edit选项abc_contract_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>

答案 2 :(得分:0)

<field name='abc_contract_id' context="{'default_abc_vendor_id': active_id}"/>

像这样添加活动ID,为我输出了正确的输出。