在Odoo12中,要在模型B中创建新实例并更改模型A中的布尔值,可以按照以下步骤进行操作:
class ModelB(models.Model):
_name = 'model.b'
field_a = fields.Many2one('model.a', string='Field A')
<record id="view_model_b_form" model="ir.ui.view">
<field name="name">model.b.form</field>
<field name="model">model.b</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="field_a"/>
</group>
</sheet>
</form>
</field>
</record>
class ModelB(models.Model):
_name = 'model.b'
field_a = fields.Many2one('model.a', string='Field A')
@api.model
def create(self, vals):
record = super(ModelB, self).create(vals)
# 获取模型A的实例
model_a = self.env['model.a'].browse(vals.get('field_a'))
# 更改模型A中的布尔值
model_a.write({'boolean_field': True})
return record
在上述代码中,我们通过browse()
方法获取了模型A的实例,并使用write()
方法更改了模型A中的布尔值。
<record id="view_model_a_form" model="ir.ui.view">
<field name="name">model.a.form</field>
<field name="model">model.a</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="boolean_field"/>
</group>
</sheet>
</form>
</field>
</record>
通过以上步骤,当在Odoo12中创建了模型B的新实例,并选择了相应的模型A实例时,模型A中的布尔值将会被更改为True。
请注意,以上答案仅供参考,具体实现可能需要根据实际情况进行调整。
领取专属 10元无门槛券
手把手带您无忧上云