美文网首页pythonodoo
odoo Create时,要关联当前模型id的办法

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

作者: 隔壁小红馆 | 来源:发表于2020-07-08 15:54 被阅读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
    此方法可以解决关联还没创建数据的关联问题。

    相关文章

      网友评论

        本文标题:odoo Create时,要关联当前模型id的办法

        本文链接:https://www.haomeiwen.com/subject/uryccktx.html