- 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 - 連線管理
預設情況下建立資料庫物件時,autoconnect 引數設定為 True。相反,若要以程式設計方式管理資料庫連線,則最初將其設定為 False。
db=SqliteDatabase("mydatabase", autoconnect=False)
資料庫類具有可與伺服器上資料庫建立連線的 connect() 方法。
db.connect()
強烈建議在執行操作後關閉連線。
db.close()
若嘗試開啟已開啟的連線,Peewee 將引發 OperationError。
>>> db.connect()
True
>>> db.connect()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\peewee\lib\site-packages\peewee.py", line 3031, in connect
raise OperationalError('Connection already opened.')
peewee.OperationalError: Connection already opened.
若要避免該錯誤,請將 reuse_if_open=True 用作 connect() 方法的引數。
>>> db.connect(reuse_if_open=True) False
呼叫已關閉連線上的 close() 不會導致錯誤。但是,可以使用 is_closed() 方法檢查連線是否已關閉。
>>> if db.is_closed()==True: db.connect() True >>>
除了在最後顯式呼叫 db.close() 之外,還可以將資料庫物件用作 上下文管理器。
from peewee import *
db = SqliteDatabase('mydatabase.db', autoconnect=False)
class User (Model):
user_id=TextField(primary_key=True)
name=TextField()
age=IntegerField()
class Meta:
database=db
db_table='User'
with db:
db.connect()
db.create_tables([User])
廣告