跳转到主要内容

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 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面