Pylonsユーザーとして、私はPyramidに切り替えて、違いを理解しようとしています。
パイロンでは、セッションをmyproj.model.meta
次のように定義するために使用されました。
Session = scoped_session(sessionmaker())
次に、それをインポートしてmyproj.model
モデルを定義し、アプリで以下を参照します。
root = Session.query(MyModel).filter(...)...
Pyramid(pyramid_routesalchemy)でデフォルトのテンプレートを使用するようになりました。以前と同じようにSessionを定義します(呼び出しとDBSession
拡張機能の追加を除く)。
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
しかし、views.py
私はそれを直接使用しませんが、それをインスタンス化します:
dbsession = DBSession()
root = dbsession.query(MyModel).filter(...)...
なんで?違いは何ですか?
また、ピラミッドとの違いは何ですか
import transaction
...
model = MyModel(name=u'root', value=55)
session.add(model)
session.flush()
transaction.commit()
パイロンへ
model = MyModel(name=u'root', value=55)
session.add(model)
session.commit()