Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
18287 Lượt xem

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
Ảnh đại diện
Huỷ bỏ
Tác giả

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

Tác giả Câu trả lời hay nhất

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.  

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 7 20
3040
0
thg 5 19
4913
1
thg 7 17
4802
1
thg 1 19
3801
1
thg 10 17
11316