Skip to Content
Menu
This question has been flagged
1 Reply
13874 Views

I'm wondering how to use cr.execute and fetch...? I'm getting only values. Is there a way to get values in a dict?

self.env.cr.execute("SELECT SUM(p.value) AS value, SUM(p.payed) AS payed.....")  # few inner joins and where conditions
result = self.env.cr.fetchall()  

In the result I get (4.66, 2.0), but is there a way to get {'value': 4.66, 'payed': 2.0}?
On only 2 returned values it isn't such a problem but for 5 or more it becomes inconvenient.
(sorry I don't know how to get out of code mode)
Avatar
Discard
Best Answer

You can use self._cr.dictfetchall()

You can check some more information about python fetch type.

Avatar
Discard
Author

Thanks... first time using manual SQL in odoo.

thanks a lot! however, that link gives me 404 page not found, i guess that doesn't work anymore. so instead, here is another link >>> https://www.odoo.com/id_ID/forum/help-1/please-define-these-python-fetch-types-8562

Related Posts Replies Views Activity
1
Dec 19
7316
1
May 20
4939
2
Nov 24
25098
2
May 24
5522
3
Mar 24
4964