pyramid_basemodel - 一个薄的、低层的SQLAlchemy绑定到pyramid
项目描述
pyramid_basemodel
pyramid_basemodel 是一个薄的、低层包,提供了一个 SQLAlchemy 声明式 Base 和一个线程局部作用域的 Session,可以在不同的包中使用,而只需要绑定到一次 db 引擎。
用法
您可以将这些用作声明性模型定义的基类,例如。
from pyramid_basemodel import Base, BaseMixin, Session, save
class MyModel(Base, BaseMixin):
"""Example model class."""
@classmethod
def do_foo(cls):
instance = Session.query(cls).first()
save(instance)
然后,您可以通过导入模型和此包来将这些绑定到您的 paster .ini 配置中的 sqlalchemy.url,例如:
# for example in yourapp.__init__.py
import mymodel
def main(global_config, **settings):
config = Configurator(settings=settings)
config.include('pyramid_basemodel')
config.include('pyramid_tm')
return config.make_wsgi_app()
或者如果您觉得这一切都太神秘,您只需使用 bind_engine 函数。
.. code-block:: python
from pyramid_basemodel import bind_engine from mypackage import mymodel
# 假设 engine 是已绑定的 SQLAlchemy 引擎。bind_engine(engine)
请注意,Session 是设计为与 [pyramid_tm][] 一起使用的。如果您不包含 pyramid_tm,您需要自己处理事务提交。
测试
要运行测试,请使用
py.test -v --cov pyramid_basemodel tests/
[pyramid_basemodel]: http://github.com/fizyk/pyramid_basemodel [pyramid_simpleauth]: http://github.com/thruflo/pyramid_simpleauth [pyramid_tm]: http://pyramid_tm.readthedocs.org
发布
首先安装 pipenv 和 -dev 依赖项,然后运行
pipenv run tbump [NEW_VERSION]
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
pyramid_basemodel-0.6.1.tar.gz (17.6 kB 查看哈希)
构建分发
pyramid_basemodel-0.6.1-py3-none-any.whl (15.0 kB 查看哈希)