Hi,

I'm having difficulty understanding how to call/create a session to access a
"class method" of a declaratively defined table/object: essentially my
understanding of how session works in this context is at fault...  Clearly,
the @classmethod requires a **session** (and I realise that: "declarative
has no integration built in with sessions, and is only intended as an
optional syntax for the regular usage of mappers and Table objects") but I'm
unsure of how to 'poke' this in. And I'm not sure if "model.py" require the
definition of its own 'local' session, or if/whether this would conflict
with the session instantiated in "controller.py"

I'd be grateful for any assistance!

What I'm trying to achieve is as follows:

*Module #1 -- model.py*

from sqlalchemy.ext.declarative  import declarative_base

Base = declarative_base()

class SomeClass(Base):
    __tablename__ = 'some_table'
    id = Column(Integer, primary_key=True)
    name =  Column(String(50))

    @classmethod
    def by_name(cls, name):
        return **Session**.query(cls).filter(cls.name==name).first()

    def build_db():
 '''call this to create the database'''
         engine          = create_engine('sqlite:///
         Base.metadata.create_all(engine=engine)

*Module #2 - controller.py*

from model.py             import SomeClass
from sqlalchemy          import create_engine
from sqlalchemy.orm    import sessionmaker, scoped_session

engine = create_engine('sqlite:///)
Session = scoped_session(sessionmaker(bind=engine, autocommit=False,
autoflush=False))

def getUser(username):
      return SomeClass.by_name(username)

-- 
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.

Reply via email to