如果在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中的选项
答案 0 :(得分:0)
您还可以将默认操作中的上下文添加到many2one模型的表单视图中,如: -
$countries = $em->getRepository("MyBundle:Country")->findBy(array('distinct' => true));
答案 1 :(得分:0)
要点击abc_vendor_id
,Create 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,为我输出了正确的输出。