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()

將模型繫結到給定的資料庫。

廣告

© . All rights reserved.