Различия в сеансах in Pylons and Pyramid

Как пользователь Pylons, я пытаюсь переключиться на Pyramid, пытаясь понять различия.

В Pylons я использовал для определения сеанса в myproj.model.meta как:

Session = scoped_session(sessionmaker())

затем импортируйте его в myproj.model , чтобы определить модель и так далее, затем в приложении обратитесь к:

root = Session.query(MyModel).filter(...)...

теперь используется шаблон по умолчанию в Пирамида (pyramid_routesalchemy) Я определяю сеанс, как и раньше (за исключением вызова DBSession и добавления расширения):

DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))

, но в views.py я не использую его напрямую, а создаю его экземпляр :

dbsession = DBSession()
root = dbsession.query(MyModel).filter(...)...

Почему? В чем различия?


Кроме того, в чем разница между Pyramid

import transaction
...
model = MyModel(name=u'root', value=55)
session.add(model)
session.flush()
transaction.commit()

и Pylons

model = MyModel(name=u'root', value=55)
session.add(model)
session.commit()
7
задан neurino 18 May 2011 в 13:42
поделиться