跳转到主要内容

Muffin框架的Peewee集成

项目描述

muffin-peeweePeewee ORM集成到Muffin框架。

Tests Status PYPI Version Python Versions

需求

  • python >= 3.7

安装

Muffin Peewee应使用pip安装

pip install muffin-peewee

可选地,您可以使用postgresql驱动程序安装它

pip install muffin-peewee[postgres]

用法

from muffin import Application
from muffin_peewee import Plugin as Peewee

# Create Muffin Application
app = Application('example')

# Initialize the plugin
# As alternative: jinja2 = Jinja2(app, **options)
db = Peewee()
db.setup(app, PEEWEE_CONNECTION='postgres+pool+async://postgres:postgres@localhost:5432/database')

选项

名称

默认值

描述

CONNECTION

sqlite+async:///db.sqlite

数据库URL

CONNECTION_PARAMS

{}

DB连接的附加参数

MANAGE_CONNECTIONS

True

安装一个中间件以自动获取db连接

MIGRATIONS_ENABLED

True

启用迁移

MIGRATIONS_PATH

"migrations"

设置迁移文件夹的路径

您可以在初始化插件时提供选项

db.setup(app, connection='DB_URL')

或在内置 Muffin.Application 配置中使用 PEEWEE_ 前缀进行设置

PEEWEE_CONNECTION = 'DB_URL'

Muffin.Application 配置选项不区分大小写

查询

@db.register
class Test(peewee.Model):
    data = peewee.CharField()


@app.route('/')
async def view(request):
    return [t.data for t in Test.select()]

管理连接

# Set configuration option `MANAGE_CONNECTIONS` to False

# Use context manager
@app.route('/')
async def view(request):
    async with db:
        # Work with db
        # ...

迁移

创建迁移

$ muffin example:app pw_create [NAME] [--auto]

运行迁移

$ muffin example:app pw_migrate [NAME] [--fake]

回滚迁移

$ muffin example:app pw_rollback [NAME]

列出迁移

$ muffin example:app pw_list

错误跟踪器

如果您有任何建议、错误报告或烦恼,请向https://github.com/klen/muffin-peewee/issues的issue tracker报告

贡献

Muffin Peewee的开发发生在这里:https://github.com/klen/muffin-peewee

贡献者

  • klen (Kirill Klenov)

许可

MIT许可证下授权。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

muffin-peewee-1.11.0.tar.gz (6.8 kB 查看散列)

上传时间

构建发行版

muffin_peewee-1.11.0-py3-none-any.whl (6.8 kB 查看散列)

上传时间 Python 3

由以下支持

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