Algo como esto quiza te ayude

from sqlalchemy import *
from sqlalchemy.orm import *

class Persist:
        def __init__(self):
        
                self.url = "mysql://root:123456@localhost/database"
                self.db = create_engine(self.url)
                self.metadata = MetaData(bind=self.db, reflect=True)
                self.db.echo = False

        def obtenemosTabla(self,nombreTabla):
                tabla = self.metadata.tables[nombreTabla]
                return tabla








El día 25 de septiembre de 2012 10:20, Jose Caballero
<jcaballero....@gmail.com> escribió:
> Hola,
>
>
> SQLAlchemy 0.7.8-1
> python 2.4
>
>
> Si hago algo como lo siguiente [1] todo funciona perfectamente. Luego puedo
> crear la tabla en la DB con el nombre "table1", y puedo interaccionar con
> ella.
> Lo que quisiera hacer es que el nombre de la tabla fuese un parametro. Pero
> si hago algo como [2], al intentar usar la clase (para salvar un objeto
> session, por ejemplo) obtengo este mensaje de error [3].
> Estoy intentando investigar por que, pero si alguien mientras tanto me da
> una pista, todo comentario sera bien recibido.
>
>
> Muchas gracias por adelantado.
> Jose
> (perdon por la ausencia de tildes)
>
>
> -------------------------------------------------------------------------------------------------------
> [1]
>
>
> Base = declarative_base()
> class Foo(Base):
>     __tablename__ = "table1"
>     id = Column(Integer, primary_key=True)
>     var1 = Column(String)
>     var2 = Column(String)
>
> -------------------------------------------------------------------------------------------------------
> [2]
>
> Base = declarative_base()
> def createFoo(tablename):
>     class Bar(Base):
>        __tablename__ = tablename
>        id = Column(Integer, primary_key=True)
>        var1 = Column(String)
>        var2 = Column(String)
>     return Bar
>
>
> Foo = createFoo('table1')
>
> -------------------------------------------------------------------------------------------------------
> [3]
>
> sqlalchemy.exc.OperationalError: (OperationalError) no such table: table1
> u'INSERT INTO table1 (var1, var2) VALUES (?, ?)' ('blah', 'blah')
>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



-- 
Miguel Zamora M.
Programador en Computacion e Informatica
08-1351249
mzmp...@gmail.com
Santiago-Chile
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a