本文使用案例是基于 python2.7 實現
以下內容均為個人使用 peewee 的經驗和遇到的坑,不會涉及過多的基本操作。所以,沒有使用過 peewee,可以先閱讀文檔
正確性和覆蓋面有待提高,如果遇到新的問題歡迎討論。
一、介紹
Peewee 是一個簡單、輕巧的 Python ORM。
總而言之,peewee 可以完全可以應付個人或企業的中小型項目的 Model 層,上手容易,功能很強大。
二、基本使用方法
from peewee import *db = SqliteDatabase('people.db')class BaseModel(Model): class Meta: database = db # This model uses the "people.db" database.class Person(BaseModel): name = CharField() birthday = DateField() is_relative = BooleanField() 基本的使用方法,推薦閱讀文檔--quickstart
三、推薦使用姿勢
下面介紹一些我在使用過程的經驗和遇到的坑,希望可以幫助大家更好的使用 peewee。
3.1 連接數據庫
連接數據庫時,推薦使用 playhouse 中的 db_url 模塊。db_url 的 connect 方法可以通過傳入的 URL 字符串,生成數據庫連接。
3.1.1 connect(url, **connect_params)
通過傳入的 url 字符串,創建一個數據庫實例
url形如:
注意:charset 默認為utf8。如需要支持 emoji ,charset 設置為utf8mb4,同時保證創建數據庫時的字符集設置正確CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;。
支持的 schemes:
3.1.2 推薦姿勢
from playhouse.db_url import connectfrom dock.common import config# url: mysql+pool://root:root@127.0.0.1:3306/appmanage?max_connections=300&stale_timeout=300mysql_config_url = config_dict.get('config').get('mysql').get('url')db = connect(url=mysql_config_url)
新聞熱點
疑難解答