- 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 - 模型
Peewee API 中的 Model 子類的物件對應於資料庫中已建立連線的表。它允許在 Model 類中定義的方法的幫助下執行資料庫表操作。
使用者定義的 Model 具有一個或多個類屬性,每個屬性都是 Field 類的物件。Peewee 有一些用於儲存不同型別資料的子類。例如 TextField、DatetimeField 等。它們對應於資料庫表中的欄位或列。關聯資料庫和表的引用以及模型配置在 Meta 類中提到。以下屬性用於指定配置 -
Meta 類屬性
下面解釋了元類屬性 -
| 序號 | 屬性和描述 |
|---|---|
| 1 | 資料庫 模型的資料庫。 |
| 2 | db_table 儲存資料的表名。預設情況下,它是模型類名。 |
| 3 | 索引 要索引的欄位列表。 |
| 4 | primary_key 複合鍵例項。 |
| 5 | 約束 表約束列表。 |
| 6 | 模式 模型的資料庫模式。 |
| 7 | 臨時 指示臨時表。 |
| 8 | depends_on 指示此表依賴於另一個表的建立。 |
| 9 | without_rowid 指示表不應該有 rowid(僅限 SQLite)。 |
以下程式碼定義了 mydatabase.db 中 User 表的 Model 類 -
from peewee import *
db = SqliteDatabase('mydatabase.db')
class User (Model):
name=TextField()
age=IntegerField()
class Meta:
database=db
db_table='User'
User.create_table()
create_table() 方法是 Model 類的類方法,它執行等效的 CREATE TABLE 查詢。另一個例項方法 save() 新增對應於物件的行。
from peewee import *
db = SqliteDatabase('mydatabase.db')
class User (Model):
name=TextField()
age=IntegerField()
class Meta:
database=db
db_table='User'
User.create_table()
rec1=User(name="Rajesh", age=21)
rec1.save()
Model 類中的方法
Model 類中的其他方法如下 -
| 序號 | Model 類和描述 |
|---|---|
| 1 | 類方法 alias() 建立模型類的別名。它允許在查詢中多次引用同一個 Model。 |
| 2 | 類方法 select() 執行 SELECT 查詢操作。如果未顯式提供任何欄位作為引數,則查詢將預設執行等效於 SELECT * 的操作。 |
| 3 | 類方法 update() 執行 UPDATE 查詢函式。 |
| 4 | 類方法 insert() 在對映到模型的基礎表中插入新行。 |
| 5 | 類方法 delete() 執行刪除查詢,通常與 where 子句的過濾器相關聯。 |
| 6 | 類方法 get() 從匹配給定過濾器的對映表中檢索一行。 |
| 7 | get_id() 例項方法返回行的主鍵。 |
| 8 | save() 將物件的資料儲存為新行。如果主鍵值已存在,它將導致執行 UPDATE 查詢。 |
| 9 | 類方法 bind() 將模型繫結到給定的資料庫。 |