ORM框架的理论基础:
python | mysql |
---|---|
Model class | Database table |
Field instance | Column on a table |
Model instance | Row in a database table |
|
|
管理你的数据库
多线程应用
peewee将连接存储到线程的本地数据上,因此每个线程持有一个数据库连接。如果你想自己管理连接,可以在初始化数据库的时候加上参数threadlocals=False
运行时数据库配置
有时候数据的配置直到运行时才知道,因为这些值可能从配置文件中加载。此种情况下,使用如下代码:
|
|
动态的定义一个数据库
多个数据库使用一个数据模型的场景下,使用Proxy
|
|
连接池
在web应用中,为了提高程序的性能,必须使用连接池。连接池提供了如下两个功能:
- 连接超时时间设置
- 最大连接数
|
|
从从节点读
为了提高数据库的性能,写入主库,但是从从库中读取。
|
|
模式修改
|
|
从已存在的数据库中创建模型
使用pwiz库
增加请求钩子
该方法不推荐使用,因为效率极低。
tornado
|
|
高级连接管理
|
|
使用多个数据库
使用Using语句
|
|
自动重连
|
|
记录查询
|
|
增加其他数据库驱动
目前peewee支持Postgres, MySQL and SQLite,但也可以手动添加其他数据库的支持。