the answer is simple in that the "binds" argument to Session precedes both 
Declarative as well as the advent of the __abstract__ keyword; it typically 
expects actual Mapper objects or classes from which a Mapper can be pulled 
directly.

For now, you can instead override get_bind() to do whatever you want it to do:

class MySession(Session):
    def get_bind(self, mapper=None, clause=None):
        if mapper is not None:
           if mapper.class_.issubclass(DB1):
               return bind1
           elif mapper.class_.issubclass(DB2):
               return bind2
        return super(MySession, self).get_bind(mapper=mapper, clause=clause)

https://bitbucket.org/zzzeek/sqlalchemy/issue/3035/overhaul-sessionbinds-to-support-classes
 is added for this.



On Apr 26, 2014, at 5:21 PM, Brian Findlay <brian.m.find...@gmail.com> wrote:

> Continuing to troubleshoot. This produces the same exception:
> 
> DBSession.configure(binds={DB1: db1_engine, DB2: db1_engine})
> 
> 
> Note that I'm binding both classes to the original engine. I thought it would 
> be the same as the working config:
> 
> DBSession.configure(bind=db1_engine)
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sqlalchemy+unsubscr...@googlegroups.com.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> Visit this group at http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to