Примерная структура папок дополнения:
pyramid_ext_plugin |-- __init__.py `-- action.py
В __init__.py находятся все настройки includeme, а в action.py действия с базой. Для получения DBSession в action.py исправим сначала __init__.py:
import sqlalchemy import sqlalchemy.orm as orm from zope.sqlalchemy import ZopeTransactionExtension DBSession = None def includeme(config): global DBSession engine = sqlalchemy.engine_from_config(config.registry.settings) if DBSession is None: DBSession = orm.scoped_session( orm.sessionmaker(extension=ZopeTransactionExtension())) DBSession.remove() DBSession.configure(bind=engine)
Все Ж) теперь можно в action.py писать так:
from pyramid_ext_pugin import DBSession
Комментариев нет:
Отправить комментарий