Peewee中文文件 六 資料庫管理

2021-08-07 12:09:52 字數 2126 閱讀 8229

from peewee import *

class

user

(model):

username = charfield

(unique=true)

class

tweet

(model):

user = foreignkeyfield

(user, related_name='tweets')

message = textfield

() created_date = datetimefield

(default=datetime.datetime.now)

is_published = booleanfield

(default=true)

雖然在使用資料庫之前明確的連線它不是必須的,但明確的管理資料庫連線是很好的做法。這樣如果連線失敗,則可以在連線步驟期間捕獲異常,而不是稍候執行查詢的任意時間。此外,如果您使用連線池,實際上有必要呼叫connect()和close()來確保連線被正常**。

對於web應用,您通常會在啟動請求時開啟連線,並在傳送響應時將其關閉:

defbefore_request_handler

(): database.connect()

defafter_request_handler

(): database.close()

備註 有關配置多個流程web框架的連線鉤子的示例,請參閱新增請求鉤子部分。

有關高階連線管理技術,請參閱高階連線管理部分。

為了將此資料庫同您的模型一起使用,在內部meta類設定database屬性:

class

mymodel

(model):

some_field = charfield

()class

meta:

database = database

好習慣:定義乙個基礎模型指明你想用的資料庫物件,然後所有你的模型都繼承它:

class

basemodel

(model):

class

meta:

database = database

class

user

(basemodel):

username = charfield

()class

tweet

(basemodel):

user = foreignkeyfield

(user, related_name='tweets')

message = textfield

() # etc, etc

備註 請記得在你的模型類裡指定資料庫,否則peewee將會使用預設名為』peewee.db』的資料庫

部分資料庫驅動在被初始化的時候可以接收特殊引數。peewee會傳遞一些無法識別的引數給資料庫驅動,而不是容納所有的這些引數。

例如,通常在使用postgresql建立連線時需要指定host,userpassword。這些都不是標準的peewee資料庫引數,所以在建立連線時它們將會被傳遞給psycopg2:

db = postgresqldatabase(

'database_name', # peewee需要的引數.

user='postgres', # 將會直接傳遞給psycopg2.

password='secret', # 同上.

host='db.mysite.com', # 同上.

)

另外的乙個例子,pymysql資料庫驅動可以接收charset引數,但是它不是標準的peewee資料庫引數。為設定這個值,只需要將charset同其他值一起傳遞:

db = mysqldatabase('database_name', user='www-data',charset='utf8mb4')
有關可用引數,請參閱資料庫驅動文件:

未完待續

狀態和資料流 SwiftUI 中文文件手冊)

控制和響應應用程式模型中的資料流和更改。swiftui為使用者介面設計提供了一種宣告式方法。組成檢視層次結構時,還需要指示檢視的資料依賴性。當資料由於外部事件或使用者採取的措施而更改時,swiftui會自動更新介面的受影響部分。結果,該框架自動執行了檢視控制器傳統上完成的大部分工作。該框架提供了一些...

PyTorch 1 0 中文文件 資料型別資訊

譯者 馮寶寶 可以通過torch.finfo或torch.iinfo訪問torch.dtype的數字屬性。class torch finfotorch.finfo是乙個用來表示浮點torch.dtype的數字屬性的物件 即torch.float32,torch.float64和torch.float...

資料庫結構文件

實在是失誤,er studio 提供了匯出資料庫結構文件的功能,到今天才發現,使用簡述如下。文件的型別在 er studio5.5.2 中有word 和html 兩種格式,其中的 word 格式可以定製文件的格式和內容,而 html 格式隨沒有提供定製功能,但其提供的框架結構對我們查詢資料庫結構是非...