将 Peewee 用作 Pyramid Web 应用程序的 ORM。-pyramid_peewee
项目描述
Pyramid_peewee 是 Pyramid Web 应用程序框架的一个模块,它允许开发人员使用 Peewee 作为他们的 ORM。
要求:
1. Pyramid 2. Peewee 3. Database
用法:
通常,基于 Pyramid 的应用程序配置在两个位置,在应用程序 __init__.py 文件中的应用程序级别和“ini”文件中的实例级别,例如 production.ini。要配置您的应用程序,首先在实例(例如 production.ini)级别,您必须设置 peewee.urls = “database connection url”
peewee.urls = <s>sqlite:///dbase.db</s>
or
peewee.urls =
postgresql://user:pass@localhost:5432/mydatabase
sqlite:///dbase.db
请注意,我们专门使用 peewee 文档Connecting using a Database URL中定义的数据库 url ,并且您可以在 peewee.urls 参数中指定应用程序所需的尽可能多的数据库 url。在应用程序级别,例如在您的应用程序 __init__.py 文件中
导入您的数据库模型
在配置部分包含命令 config.include('pyramid_peewee')。
定义您的数据模型:要定义您的数据模型,首先设置您的数据库 = peewee.Proxy。请注意您的数据库是否包含“.” 在名称中,例如使用 sqlite 文件将其替换为“_”(下划线)。
from peewee import *
mydatabase = Proxy()
dbase_db = Proxy()
class People(Model):
name = TextField()
class Meta:
database = mydatabase
class Cars(model):
name = TextField()
class Meta:
database = dbase_db
在此示例中,我们定义了两个表,每个表都派生自不同的数据库代理。Peewee 允许您根据需要定义任意数量的数据库连接,并在应用程序中无缝地使用它们。
在视图中使用您的数据模型:
要在视图中使用您的数据模型,您必须首先获得数据库连接。这是通过调用绑定到视图请求的数据库代理来完成的。通过这样做,数据库连接在请求结束时正确关闭。
from model import *
def myView(requset):
request.mydatabase
joe = People.select().where(People.name=='joe').get()
return dict(name=joe.name)
如上所述,通过调用 request.mydatabase 完成了两件事,一是为请求打开数据库连接,二是注册回调,它将在请求结束时正确关闭连接。尝试使用模型而不首先从请求对象调用数据库方法将导致 DataBaseClosed 错误。这与正常的 PeeWee 行为有所不同,后者通常会根据需要打开连接。
PeeWee 文档中支持的数据库 URL:
sqlite:///my_database.db将为当前目录中的文件 my_database.db 创建一个 SqliteDatabase 实例。
sqlite:///:memory:将创建一个内存中的 SqliteDatabase 实例。
postgresql://postgres:my_password@localhost:5432/my_database将创建一个 PostgresqlDatabase 实例。提供了用户名和密码,以及要连接的主机和端口。
mysql://user:passwd@ip:port/my_db将为本地 MySQL 数据库my_db创建一个 MySQLDatabase 实例。
支持的方案:
apsw:APSW数据库
mysql: MySQL数据库
mysql+pool:池化MySQL数据库
postgres:Postgresql 数据库
postgres+pool:池化Postgresql数据库
postgresext:PostgresqlExtDatabase
postgresext+pool:PooledPostgresqlExtDatabase
sqlite:Sqlite数据库
sqliteext:SqliteExtDatabase
最新的文档总是可以在他们的网站上找到: Peewee 数据库 URL
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
pyramid_peewee -0.5.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 497d54bb22065389ba5b8727e6195d3ad5319ad98aa566bf7aa38d4e76cc3c4d |
|
| MD5 | 1afaa633963592a69a8f7aaa0e8bffbb |
|
| 布莱克2-256 | 7f66979a5bf94f5bc0ab606d7ae0628f28a39afd4b71caf4a119f16ab8fb4c3a |
pyramid_peewee -0.5-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 9c3adf6e7c4bbffb99485142209314f2e3d19da09b4572f7cd4a816e463304a5 |
|
| MD5 | 9f6cfe1888c5d49a95692c1513ad1bc9 |
|
| 布莱克2-256 | 328012fda8e896955a0f7ff81176a1ae879b28a3b66248be662dd91132cf933a |