跳至內容
選單
此問題已被標幟
2 回覆
17905 瀏覽次數

I added a lot of code to the write method in the project.task model. I need to figure out what's causing the error and for that I need to understand the error. Can someone tell me what this error means or when it's normally raiser.

The whole error message:

Traceback (most recent call last):   File "werkzeug\serving.py", line 177, in run_wsgi    
  File "werkzeug\serving.py", line 165, in execute    
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\service\server.py", line 246, in app return self.app(e, s)
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\service\wsgi_server.py", line 186, in application
return application_unproxied(environ, start_response)
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\service\wsgi_server.py", line 172, in application_unproxied
result = handler(environ, start_response)
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\http.py", line 1308, in __call__
return self.dispatch(environ, start_response)
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\http.py", line 1282, in __call__
return self.app(environ, start_wrapped)
File "werkzeug\wsgi.py", line 579, in __call__
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\http.py", line 1486, in dispatch
response = self.get_response(httprequest, result, explicit_session)
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\http.py", line 278, in __exit__
self._cr.commit()
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\sql_db.py", line 154, in wrapper
return f(self, *args, **kwargs)
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\sql_db.py", line 378, in commit
func()
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\addons\mail\models\res_partner.py", line 248, in send_notifications
 env['mail.mail'].browse(email_ids).send()
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\addons\mail\models\mail_mail.py", line 297, in send
mail._postprocess_sent_message(mail_sent=mail_sent)
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\addons\portal_sale\models\mail_mail.py", line 23, in _postprocess_sent_message
 return super(Mail, self)._postprocess_sent_message(mail_sent=mail_sent) File "D:\Program Files (x86)\Odoo 10.0\server\odoo\addons\mail\models\mail_mail.py", line 141, in _postprocess_sent_message 'email_status': 'sent',
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\models.py", line 3557, in write
self._write(old_vals)
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\models.py", line 3643, in _write
cr.execute(query, params + (sub_ids,))
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\sql_db.py", line 154, in wrapper
return f(self, *args, **kwargs)
File "D:\Program Files (x86)\Odoo 10.0\server\odoo\sql_db.py", line 231, in execute
res = self._obj.execute(query, params)
TransactionRollbackError: could not serialize access due to concurrent update
頭像
捨棄
作者

I had a constrain on stage_id to send email. The method that send the custom mail causes the error.

作者 最佳答案

the problem was caused by sending subtypes, that were deleted before the mail.mail models _postprocess_sent_message method could written the email_status sent and then delete it. So it was trying to update and delete a record that wasn't there.

So I just inherited the model and overridden the method and the write and unlink statements into try/except. 

I know that this isn't a real fix but more of a bandage. So if anyone can help I would appreciate it.  

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
1
7月 20
2689
0
5月 19
4347
1
7月 17
4402
1
1月 19
3333
1
10月 17
10847