Hello!
I would like to dynamically set/change the table that is mapped in my
python object, as instantiated through the declarative style.
class Feature(Base, GeometryTableMixIn):
""" this is dynamically created to use a table and pk_column
determined at runtime """
__table_args__ = {
"schema": 'a_schema',
"autoload": True,
"autoload_with": Session.bind,
"useexisting": True
}
wkb_geometry = GeometryColumn('wkb_geometry', Geometry(srid=4269))
def __init__(self, *args, **kwargs):
self.__tablename__ = kwargs['tablename']
self.pk_id = Column('%s' % kwargs['pk_id'], types.Integer,
primary_key=True, autoincrement=False)
super(Feature, self).__init__(*args, **kwargs)
This doesn't work:
InvalidRequestError: Class <class 'javelin.model.feature.Feature'>
does not have a __table__ or __tablename__ specified and does not
inherit from an existing table-mapped class.
Could this possibly be done through another approach? Suggestions are
greatly appreciated.
--
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.