[pyar] Convirtiendo tipos automáticamente en SQLAlchemy
Facundo Batista
facundobatista en gmail.com
Mie Oct 30 15:19:43 -03 2019
El mié., 30 de oct. de 2019 a la(s) 15:01, Matías Bellone
(matiasbellone en gmail.com) escribió:
>
> Así que evidentemente si vas a ejecutar queries en texto, tenés que hacer la traducción a mano.
>
> Habiendo dicho todo esto, lamentablemente mis pruebas del siguiente pedazo de código no anduvieron :(
>
> query = text("select test_enum from test;").columns(test_enum=MyWeirdType)
> row = session.execute(query).fetchone()
Me puse a leer un poco esto que pasaste, gracias!
Por otro lado, te cuento que este hack ESPANTOSO hace lo que quiero:
row = session.execute("select test_enum from test;").fetchone()
row._keymap['test_enum'] = (MyWeirdType.__getitem__,) +
tuple(row._keymap['test_enum'][1:])
assert isinstance(row.test_enum, MyWeirdType)
...pero solo si el RowProxy que uso es el definido en Python, si me
usa la extensión en C no!
Entonces a lo que apunto es de alguna manera definirle el processor en
el keymap "de la manera correcta" para que funcione siempre :)
--
. Facundo
Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org.ar/
Twitter: @facundobatista
Más información sobre la lista de distribución pyar