- Peewee教程
- Peewee - 主页
- Peewee - 概述
- Peewee - 数据库类
- Peewee - 模型
- Peewee - 野外课程
- Peewee - 插入新记录
- Peewee - 选择记录
- Peewee - 过滤器
- Peewee - 主键和复合键
- Peewee - 更新现有记录
- Peewee - 删除记录
- Peewee - 创建索引
- Peewee - 约束
- Peewee - 使用 MySQL
- Peewee - 使用 PostgreSQL
- Peewee - 动态定义数据库
- Peewee - 连接管理
- Peewee - 关系与加入
- Peewee - 子查询
- Peewee - 排序
- Peewee - 计数和聚合
- Peewee - SQL 函数
- Peewee - 检索行元组/字典
- Peewee - 用户定义的运算符
- Peewee - 原子事务
- Peewee - 数据库错误
- Peewee - 查询生成器
- Peewee - 与 Web 框架集成
- Peewee - SQLite 扩展
- Peewee - PostgreSQL 和 MySQL 扩展
- Peewee - 使用 CockroachDB
- Peewee有用资源
- Peewee - 快速指南
- Peewee - 有用的资源
- Peewee - 讨论
Peewee - PostgreSQL 和 MySQL 扩展
其他 PostgreSQL 功能由playhouse.postgres_ext模块中定义的帮助程序启用。该模块定义了PostgresqlExtDatabase类,并提供以下附加字段类型,专门用于声明要映射到 PostgreSQL 数据库表的模型。
PostgreSQL 扩展的特点
Peewee 支持的 PostgreSQL 扩展的功能如下:
ArrayField 字段类型,用于存储数组。
HStoreField 字段类型,用于存储键/值对。
IntervalField字段类型,用于存储timedelta对象。
JSONField字段类型,用于存储JSON数据。
BinaryJSONField 字段类型为 jsonb JSON 数据类型。
TSVectorField 字段类型,用于存储全文搜索数据。
DateTimeTZField 字段类型,时区感知的日期时间字段。
该模块旨在提供其他 Postgres 特定功能。
hstore 支持。
服务器端游标。
全文搜索。
Postgres hstore是一个键:值存储,可以作为HStoreField类型的字段之一嵌入到表中。要启用 hstore 支持,请使用register_hstore=True参数创建数据库实例。
db = PostgresqlExtDatabase('mydatabase', register_hstore=True)
使用一个HStoreField定义一个模型。
class Vehicles(BaseExtModel): type = CharField() features = HStoreField()
创建一个模型实例如下 -
v=Vechicle.create(type='Car', specs:{'mfg':'Maruti', 'Fuel':'Petrol', 'model':'Alto'})
访问 hstore 值 -
obj=Vehicle.get(Vehicle.id=v.id) print (obj.features)
MySQL 扩展
MysqlDatabase 类的替代实现由playhouse.mysql_ext模块中定义的MySQLConnectorDatabase提供。它使用Python的DB-API兼容的官方mysql/python连接器。
from playhouse.mysql_ext import MySQLConnectorDatabase db = MySQLConnectorDatabase('mydatabase', host='localhost', user='root', password='')