当在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'。 。
self
之前尝试使用super
,并且您调用了超级写入方法而不是create
方法。 尝试更正create
方法继承: