Python 如何在odoo中获取新记录Id?

Python 如何在odoo中获取新记录Id?,python,odoo,odoo-12,Python,Odoo,Odoo 12,我创建了一个新记录,我想获得该记录的ID。我有一个方法,我想在其中获取新创建的记录的ID。如果这是真的,我想做某个动作 @api.multi def task_send_mail(self): template_email = self.env["mail.template"].search([('name','=','Example e-mail template')]).id self.env["mail.template"].browse(template_email

我创建了一个新记录,我想获得该记录的ID。我有一个方法,我想在其中获取新创建的记录的ID。如果这是真的,我想做某个动作

@api.multi
def task_send_mail(self):   
    template_email = self.env["mail.template"].search([('name','=','Example e-mail template')]).id
    self.env["mail.template"].browse(template_email).sudo().send_mail(self.id, force_send=True)
这是我的发送电子邮件功能。我想在创建记录后自动发送电子邮件。所以,我想获取最近创建的记录ID,并将该ID传递给这个函数

@api.multi
def get_full_url(self):
    self.ensure_one()
    base_url = self.env["ir.config_parameter"].get_param("web.base.url")
    url_params = {
        'id': self.id,
        'action': self.env.ref('bhuwan_module.tender_records_form').id,
        'model': 'tender.manage',
        'view_type': 'form',
        'menu_id': self.env.ref('bhuwan_module.tender_records').id,
    }
    params = '/web#%s' % url_encode(url_params)
    return base_url + params
此函数是从我的电子邮件模板调用的。它应该获取新创建记录的ID,但它没有获取这些ID,因此呈现模板失败

它应该采用新创建的记录的ID

但是您没有共享它处理该模型新创建的记录集的代码

要获取新创建记录的记录ID,可以使用注释中提到的create函数。无论何时创建新模型,都会触发模型定义的创建函数

@api.model
def创建(自身、VAL):
record=super(ClassName,self).create(vals)
record.task_send_mail()##record是新创建的记录
返回记录

您应该从create获取id为返回值的新记录。请提供您正在使用的代码。这将帮助我们帮助你。我已经编辑了@Veikko先生。先生,一定要帮助我。我的电子邮件模板功能可以在使用您的代码后获取最近创建的记录id。太好了,我很高兴能为您提供帮助