Thanks Michael. So then it looks like my options are to: 1. Convert the longs.
2. Declare my columns instead of using reflection so I get the right types. On Jan 30, 7:18 pm, Michael Bayer <[email protected]> wrote: > On Jan 30, 2011, at 8:55 PM, ObjectEvolution wrote: > > > > > > > Hi, > > > I'm reflecting some tables out of MySQL for a User object and when I > > call: > > > user.ID > > > I get a value like this: > > > 10L > > > instead of: > > > 10 > > > If I wrap it up like this: > > > int(user.ID) > > > I get: > > > 10 > > > It seems that the reflection thinks my int column is a long. Why is > > that happening and how can I fix it? Abandon reflection? > > MySQL-python returns ints as Python longs. They are cross compatible. > SQLA's reflection is not involved. > > from sqlalchemy import * > > e = create_engine('mysql://scott:tiger@localhost/test') > print repr(e.scalar(select([1]))) > print repr(e.scalar(select([cast(1, Integer)]))) > > raw_mysqldb_connection = e.connect().connection > cursor = raw_mysqldb_connection.cursor() > cursor.execute("select 1") > print cursor.fetchall() > > output: > > 1L > 1L > ((1L,),) -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
