在有一种业务场景中,就是在创建数据的时候,有字段关联当前模型的id,但是此时还没有生成id,此时应该怎么处理呢
@api.model
def create(self, vals):
vals['name'] = '%s %s' % ('测试', self.env['ir.sequence'].next_by_code('smelting.main.smelting') or _('New'))
res = super(SmeltingMainSmelting, self).create(vals)
if 'crucible_id' in vals:
crucible = self.env['smelting.crucible.management'].browse(vals['crucible_id'])
data = {'name': res.id, 'usage_time': fields.Datetime.now()}
crucible.record_line_ids = [(0, 0, data)]
return res
就是在 create 方法里,res = super(SmeltingMainSmelting, self).create(vals),提前把模型数据创建完成后,然后用 res.id
代表当前模型的id
此方法可以解决关联还没创建数据的关联问题。
网友评论