pythonodoo

odoo Create时,要关联当前模型id的办法

2020-07-08  本文已影响0人  隔壁小红馆

在有一种业务场景中,就是在创建数据的时候,有字段关联当前模型的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
此方法可以解决关联还没创建数据的关联问题。

上一篇 下一篇

猜你喜欢

热点阅读