跳转到主要内容

Flask框架的Peewee ORM集成

项目描述

Flask-PW – Peewee ORM集成于Flask框架。

插件配置DB连接并提供一些工具,如迁移和信号。它还提供了Peewee ORM对Flask-Debugtoolbar的支持

需求

  • python 2.7+,3.4+

安装

Flask-PW 应使用pip进行安装

pip install flask-pw

使用

设置

Flask-PW设置(默认值)

# Connection URI
PEEWEE_DATABASE_URI = 'sqlite:///peewee.sqlite'

# Connection params (for example for pgsql: { encoding: 'utf-8' })
PEEWEE_CONNECTION_PARAMS = {}

# Path to directory which contains migrations
PEEWEE_MIGRATE_DIR = 'migrations'

# Name of database table with migrations
PEEWEE_MIGRATE_TABLE = 'migratehistory'

# Path to module which contains you applications' Models
# Needed by automatic migrations
PEEWEE_MODELS_MODULE = ''

# Models which should be ignored in migrations
PEEWEE_MODELS_IGNORE = []

# Base models class
# Use `db.Model` as your models' base class for automatically DB binding
PEEWEE_MODELS_CLASS = <flask_pw.Model>

# Don't connect to db when request starts and close when it ends automatically
PEEWEE_MANUAL = False

示例

import peewee as pw
from flask import Flask

from flask_pw import Peewee


app = Flask(__name__)

app.config['PEEWEE_DATABASE_URI'] = 'sqlite:///:memory:'

db = Peewee(app)


class User(db.Model):

    name = pw.CharField(255)
    title = pw.CharField(127, null=True)
    active = pw.BooleanField(default=True)
    rating = pw.IntegerField(default=0)


@User.post_save.connect
def update(user, created=False):
    if created:
        # Do something

迁移

如果您使用 Flask-Script,只需将‘db’命令添加到您的管理器

manager = Manager(create_app)
manager.add_command('db', db.manager)

并使用 db createdb migratedb rollback 命令。

如果您使用 Flask >= 0.11,将插件的命令连接到您的CLI

pw = Peewee(app)
app.cli.add_command(pw.cli, 'db')
if __name__ == '__main__':
    with app.app_context():
        app.cli()

Flask-Debugtoolbar

只需将 flask_pw.debugtoolbar.PeeweeDebugPanel 添加到您的应用程序配置中的 Flask-Debugtoolbar 面板

DEBUG_TB_PANELS = [
    'flask_debugtoolbar.panels.versions.VersionDebugPanel',
    'flask_debugtoolbar.panels.timer.TimerDebugPanel',
    'flask_debugtoolbar.panels.headers.HeaderDebugPanel',
    'flask_debugtoolbar.panels.request_vars.RequestVarsDebugPanel',
    'flask_debugtoolbar.panels.template.TemplateDebugPanel',
    'flask_debugtoolbar.panels.sqlalchemy.SQLAlchemyDebugPanel',
    'flask_debugtoolbar.panels.logger.LoggingPanel',
    'flask_debugtoolbar.panels.profiler.ProfilerDebugPanel',

    # Add the Peewee panel
    'flask_pw.flask_debugtoolbar.PeeweeDebugPanel',
]

享受!

错误跟踪器

如果您有任何建议,错误报告或烦恼,请将它们报告给https://github.com/klen/flask-pw/issues的issue跟踪器

贡献

The Flask-pw的开发发生在:https://github.com/klen/flask-pw

贡献者

许可证

许可协议:MIT许可(见LICENSE)

如果您想表达对项目的感激之情,欢迎您发送明信片至

Kirill Klenov
pos. Severny 8-3
MO, Istra, 143500
Russia

项目详情


下载文件

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

源代码分发

Flask-PW-1.1.3.tar.gz (8.4 kB 查看哈希值)

上传时间 源代码

构建分发

Flask_PW-1.1.3-py2.py3-none-any.whl (10.5 kB 查看哈希值)

上传时间 Python 2 Python 3

支持