Odoo 12 AttributeError:'bool'对象没有属性'ids'

问题描述 投票:0回答:1

当在CRM模块中为字段创建和修改新记录时,我试图获取邮件,所以我已经定义了此功能

以py:

@ api.multi

def write (self, vals):

    if 'lead_status' in vals and self.ids:

        for rec in self:

            template = self.env.ref ('crm_extended.crm_lead_mail_template')

            template.send_mail (rec.id, force_send = True)          

    return super (crm_extended, self) .write (vals)





@ api.multi

def create (self, vals):

    if 'lead_status' in vals and self.ids:

        for rec in self:

            template = self.env.ref ('crm_extended.create_crm_lead_mail_template')

            template.send_mail (rec.id, force_send = True)          


    return super (crm_extended, self) .write (vals)

[更改状态或进行保存时,odoo会弹出如下错误消息

错误:

Odoo服务器错误

追踪(最近通话):

_ handle_exception中的文件“ /opt/odoo/odoo-12.0/odoo/http.py”,第656行

返回超级(JsonRequest,自身)._ handle_exception(异常)

_ handle_exception中的文件“ /opt/odoo/odoo-12.0/odoo/http.py”,第314行

raise pycompat.reraise(type(exception),exception,sys.exc_info()[2])

重新发行的文件“ /opt/odoo/odoo-12.0/odoo/tools/pycompat.py”,第87行

升值

文件“ /opt/odoo/odoo-12.0/odoo/http.py”,第698行,正在分发中

结果= self._call_function(** self.params)

_ call_function中的文件“ /opt/odoo/odoo-12.0/odoo/http.py”,第346行

返回checked_call(self.db,* args,** kwargs)

文件“ /opt/odoo/odoo-12.0/odoo/service/model.py”,第98行,在包装器中

返回f(dbname,* args,** kwargs)

文件“ /opt/odoo/odoo-12.0/odoo/http.py”,第339行,在checked_call中

结果= self.endpoint(* a,** kw)

文件“ /opt/odoo/odoo-12.0/odoo/http.py”,第941行,在[[call中]返回self.method(* args,** kw)

文件“ /opt/odoo/odoo-12.0/odoo/http.py”,第519行,在response_wrap中

响应= f(* args,** kw)

文件“ /opt/odoo/odoo-12.0/addons/web/controllers/main.py”,行962,在call_kw中

返回self._call_kw(模型,方法,args,kwargs)

文件“ /opt/odoo/odoo-12.0/addons/web/controllers/main.py”,第954行,在_call_kw中

返回call_kw(request.env [模型],方法,参数,参数)

文件“ /opt/odoo/odoo-12.0/odoo/api.py”,行757,在call_kw中

返回_call_kw_model_create(方法,模型,参数,参数)

文件“ /opt/odoo/odoo-12.0/odoo/api.py”,行737,在_call_kw_model_create中

结果=方法(记录,*参数,** kwargs)

文件“”,第2行,在创建中

文件“ /opt/odoo/odoo-12.0/odoo/api.py”,第461行,在_model_create_multi中

return create(self,[arg])

文件“ /opt/odoo/odoo-12.0/addons/base_automation/models/base_automation.py”,在创建时位于第231行

action._process(action._filter_post(记录))

文件“ /opt/odoo/odoo-12.0/addons/base_automation/models/base_automation.py”,第164行,在_filter_post中]

返回自身。_filter_post_export_domain(记录)[0]

文件“ /opt/odoo/odoo-12.0/addons/base_automation/models/base_automation.py”,第169行,在_filter_post_export_domain中

domain = [('id','in',records.ids)] + safe_eval(self.filter_domain,self._get_eval_context())

AttributeError:'bool'对象没有属性'ids'

功能:

@ api.multi

def创建(自己,值):

如果是vals和self.ids中的'lead_status':

对于自我记录:

模板= self.env.ref('crm_extended.create_crm_lead_mail_template')

template.send_mail(rec.id,force_send = True)

返回超级(crm_extended,自我).write(值)

试图在CRM模块中的字段创建和修改新记录时尝试获取邮件,因此我已在py中定义了此功能:@ api.multi def write(self,vals):如果在val和。中为'lead_status'。 。

odoo-10 odoo-11 odoo-12
1个回答
0
投票
您在调用self之前尝试使用super,并且您调用了超级写入方法而不是create方法。

尝试更正create方法继承:

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.