Pasar una variable como nombre de tabla

13 views
Skip to first unread message

puercoespin

unread,
May 23, 2012, 3:53:27 AM5/23/12
to web2py-...@googlegroups.com
Hola a tod@s

en un código similar a este:

if combustible=='98':
    row=db(db.98).select()
if combustible == '95':
    row=db(db.95).select()
if combustible == 'Diesel':
    row=db(db.Diesel).select()

etc., etc.

Bien, lo que quiero es simplemente realizar algo parecido a :

row=db(db.[aqui_estaria_la_variable_combustible]).select()

y dejarse de if's....

¿Cómo lo haría? Igual es una tontería, pero no lo encuentro...

Saludos


Javier Pepe

unread,
May 23, 2012, 5:27:48 AM5/23/12
to web2py-...@googlegroups.com

Podrias usar exec:

exec "row=db(db.%s).select()" % combustible in locals()
 
Donde combustible es la variable que tiene el nombre de la tabla

Javier Pepe

unread,
May 23, 2012, 6:18:39 AM5/23/12
to web2py-...@googlegroups.com
Me dejaste con la duda, entonces segui probando:

row=db(db[combustible]).select()



2012/5/23 puercoespin <jzaragoza....@gmail.com>
Preferiría no utilizar ni exec ni eval, a ser posible....




El miércoles, 23 de mayo de 2012 11:27:48 UTC+2, Javier escribió:

Podrias usar exec:

exec "row=db(db.%s).select()" % combustible in locals()
 
Donde combustible es la variable que tiene el nombre de la tabla

Martín Mulone

unread,
May 23, 2012, 6:24:35 AM5/23/12
to web2py-...@googlegroups.com
Así

combustible = '98'
row=db(db[combustible]).select()

puercoespin

unread,
May 23, 2012, 2:01:07 PM5/23/12
to web2py-...@googlegroups.com
¡Muchas gracias a ambos!




El miércoles, 23 de mayo de 2012 12:24:35 UTC+2, Martin.Mulone escribió:
Así

combustible = '98'
row=db(db[combustible]).select()

Reply all
Reply to author
Forward
0 new messages