- 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 扩展
playhouse.postgres_ext 模块中定义的辅助函数启用了其他 PostgreSQL 功能。此模块定义了 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 扩展
playhouse.mysql_ext 模块中定义的 MySQLConnectorDatabase 提供了 MysqlDatabase 类的替代实现。它使用 Python 的 DB-API 兼容的官方 mysql/python connector。
from playhouse.mysql_ext import MySQLConnectorDatabase
db = MySQLConnectorDatabase('mydatabase', host='localhost', user='root', password='')
广告