Jaka jest różnica między Model.query i session.query (Model) w SQLAlchemy?

Jestem początkującym w SQLAlchemy i znalezione zapytanie można wykonać metodą 2:

Podejście 1:

DBSession = scoped_session(sessionmaker())
class _Base(object):
    query = DBSession.query_property()

Base = declarative_base(cls=_Base)

class SomeModel(Base):
    key   = Column(Unicode, primary_key=True)
    value = Column(Unicode)

# When querying
result = SomeModel.query.filter(...)

Podejście 2

DBSession = scoped_session(sessionmaker())
Base = declarative_base()

class SomeModel(Base):
    key   = Column(Unicode, primary_key=True)
    value = Column(Unicode)

# When querying
session = DBSession()
result = session.query(SomeModel).filter(...)

Czy jest między nimi jakaś różnica?

questionAnswers(3)

yourAnswerToTheQuestion