跳至内容
菜单
此问题已终结
3 回复
11317 查看

Hi

I'm developing a module importing data into a thread,Following this line I have an exception :

Unable to use a closed cursor

self.env['product.product'].search([('default_code', '=', internalRef)])

but if i don't use thread I have no exception

thanks a lot


形象
丢弃

Please show us some more of the code, it looks like the problem is on another line? :)

最佳答案

Hi Merien Hakkani

In Odoo database cursor are opened at the beginning of the request and closed after the request is processed so it means that if you are using a new thread the cursor could or couldn't remain open when you wanna use it, normally it wont be open, so you may need to create a new env for self.env  with a new cursor attached in order to make it always work

形象
丢弃
编写者 最佳答案

Hi Axel Mendoza

thank you very much for you answer , i tried this 

api.Environment.manage()

new_cr = registry(self._cr.dbname).cursor()

new_cr.autocommit(True)

self = self.with_env(self.env(cr=new_cr)).with_context(original_cr=self._cr)


形象
丢弃