Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
15196 Vistas

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
Descartar
Mejor respuesta

You can use self._cr.dictfetchall()

You can check some more information about python fetch type.

Avatar
Descartar
Autor

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

Publicaciones relacionadas Respuestas Vistas Actividad
1
dic 19
8316
1
may 20
6027
2
jul 25
4647
2
dic 24
7783
2
nov 24
28557