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
,user
和password
。這些都不是標準的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 格式隨沒有提供定製功能,但其提供的框架結構對我們查詢資料庫結構是非...