我需要创建公司并立即创建与该公司绑定的联系人:
vals = {...}
company = self.env['res.partner'].create(vals)
vals = {'company_id': company.id, ...}
contact = self.env['res.partner'].create(vals)
但是odoo说:DETAIL:键(company_id)=(49)不在表“res_company”中。
交易尚未提交(正如我所想)。 那么我怎样才能使用刚刚创建的记录的字段?
在ir.cron中启动的方法:
这样称呼的方法:
<record model="ir.cron" id="ir_cron_load_data">
<field name="name">Load</field>
<field eval="False" name="active" />
<field name="interval_number">24</field>
<field name="interval_type">hours</field>
<field name="numbercall">-1</field>
<field name="priority">100</field>
<field name="doall" eval="False"/>
<field name="model" eval="'sap_contacts'"/>
<field name="function" eval="'action_load_data'"/>
<field name="args" eval="'()'"/>
</record>
答案 0 :(得分:2)
vals = {...}
company = self.env['res.partner'].create(vals)
vals = {'company_id': company.id, ...}
contact = self.env['res.partner'].create(vals)
company_id字段是res_partner
和res_company
表之间的关系字段。您尝试使用val在res_partner
上创建记录,vals有一个company_id键,其中包含company.id作为其值。您拥有的company.id是您在res.partner
表上创建的新记录的ID。
您必须在res.company
表中创建公司:
company = self.env['res.company'].create(some_vals)
然后获取该公司的ID company.id