- 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='')
廣告