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 create,db migrate 和 db 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 查看哈希值)