日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python ORM框架Peewee用法詳解

瀏覽:6日期:2022-07-27 09:05:10

之前在學Django時,發現它的模型層非常好用,把對數據庫的操作映射成對類、對象的操作,避免了我們直接寫在Web項目中SQL語句,當時想,如果這個模型層可以獨立出來使用就好了,那我們平臺操作數據庫也可以這么玩了,我不喜歡寫SQL語句。

后來才知道,原來這個叫ORM(Object Relational Mapping,對象關系映射),在Python下面有很多這樣的類庫,如SQLObject、Storm、peewee和SQLAlchemy。

這里就給你們介紹一下Peewee的基本使用,因為它非常的輕量級,最主要是和Django的ORM 操作很像,如果你學過Django那么很容易上手。

一、安裝peewee

安裝非常簡單,推薦使用pip命令。

> pip install peewee

Python ORM框架Peewee用法詳解

另外,你也可以通過下載包安裝:https://pypi.python.org/pypi/peewee

二、創建表

from peewee import *import datetimedb = MySQLDatabase('guest', host='127.0.0.1', port=3306, user='root', passwd='123456')db.connect()class BaseModel(Model): class Meta: database = dbclass User(BaseModel): username = CharField(unique=True)class Tweet(BaseModel): user = ForeignKeyField(User, related_name=’tweets’) message = TextField() created_date = DateTimeField(default=datetime.datetime.now) is_published = BooleanField(default=True)if __name__ == '__main__': # 創建表 User.create_table() # 創建User表 Tweet.create_table() # 創建Tweet表

這里面包含不了少知識點,我們來一一解釋。

首先,導入peewee庫下面的所有方法,這個當然需要。

然后,通過MySQLDatabase連接數據庫,把數據連接的幾個必要參數一一填寫。通過connect()方法與MySQL數據庫建立鏈接。

接下來就是表的創建,創建BaseModel類,在該類下創建子類Meta,Meta是一個內部類,它用于定義peewee的Model類的行為特性。指定dabatase 為 前面定義的db。

再接下來就是表的創建了,我們在SQL語句創建表時一般需要知道以下信息。表的名字,表有哪些字段?這些字段分別是什么類型?是否允許為空,或自增?哪個字段是主鍵是?哪個是外鍵?

ORM用編程語言里的概念幫我們映射了這些東西。

創建 User 和 Tweet類做為表名。在類下面定義的變量為字段名,如username、message、created_date等。通過CharField、DateTimeField、BooleanField表示字段的類型。ForeignKeyField 建立外鍵。 主鍵呢? 建表時不都要有個主鍵id嘛,不用!peewee默認已經為我們加上這個id了。

最后,執行create_table()方法創建兩張表。

通過數據庫工具,查看生成的兩張表。

Python ORM框架Peewee用法詳解

Python ORM框架Peewee用法詳解

三、插入數據

要想操作表數據,首先表里得有數據。先來看看如何添加數據。

if __name__ == '__main__': # ... user = User.create(username=’tom’) Tweet.create(user=user, message='這是一段文字')

這樣就要User表里添加一個tom的用戶,這用戶發了一條Tweet,在Tweet表里。但這個用戶興致來了,想繼續發第二條Tweet。于是:

if __name__ == '__main__': # ... Tweet.create(user_id=1, message='這是第二段文字')

咦~?。坎粚Γ覀儧]有創建user_id字段啊!但是,如果你查詢Tweet表,就會發現有這個字段,用它來關聯User表的id。

Python ORM框架Peewee用法詳解

四、查詢數據

接下來,查詢數據。

if __name__ == '__main__': # ... # 查詢 1 t = Tweet.get(message='這是一段文字') print(t.user_id) print(t.created_date) print(t.is_published)

查詢結果:

12017-05-19 15:44:32True

不過,get()方法只能查詢一條,且是唯一的一條數據;通過查詢條件不能查詢出多條,也不能查詢出0條。

if __name__ == '__main__': # ... # 查詢 2 ts = Tweet.filter(user_id=1) for t in ts: print(t.message)

運行結果:

這是一段文字這是第二段文字

而,filter()方法,就會更加靈活,可以查詢多條結果,并把結果循環輸出。

五、Playhouse庫

Playhouse庫中提供了一些比較有意思的方法。當我們在安裝peewee時,也會捎帶著把它裝上。

這里只介紹它里面的model_to_dict和dict_to_model兩個方法。

model_to_dict方法用法:

from playhouse.shortcuts import model_to_dict, dict_to_model# ……if __name__ == '__main__': # …… user = User.create(username=’jack’) # 把數據對象轉成字典 u = model_to_dict(user) print(u)

運行結果:

{’id’: 7, ’username’: ’jack’}

dict_to_model方法用法:

from playhouse.shortcuts import model_to_dict, dict_to_model# ……if __name__ == '__main__': # …… # 把字典轉成數據對象 user_data = {’id’: 2, ’username’: ’charlie’} user = dict_to_model(User, user_data) print(user.username)

運行結果:

charlie

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
911精品国产| 久久中文字幕导航| 国产美女高潮在线| 国产毛片精品| 亚洲美女久久| 亚洲精品伊人| 石原莉奈在线亚洲二区| 欧美网站在线| 欧美日韩国产一区精品一区| 日韩成人高清| 一本一道久久a久久精品蜜桃| 国产精品高颜值在线观看| 久久久国产精品网站| 久久精品二区亚洲w码| 久久不卡日韩美女| 都市激情国产精品| 红杏一区二区三区| 91精品综合| 蜜臀久久久久久久| 日韩av资源网| 色综合狠狠操| 久久精品电影| 蜜臀av性久久久久蜜臀aⅴ四虎| 成人av动漫在线观看| 亚洲我射av| 另类欧美日韩国产在线| 国产h片在线观看| 国产在线观看www| 免费日韩精品中文字幕视频在线| 性色av一区二区怡红| 国产亚洲久久| 成人亚洲一区| 天堂成人免费av电影一区| 国产精品一卡| 尹人成人综合网| 欧美国产中文高清| 91成人精品视频| 综合视频一区| 国产成人精品免费视| 亚洲资源av| 国产精品xxx| 亚洲精品在线观看91| 麻豆久久久久久| 亚洲一区国产| 高潮一区二区| 日本色综合中文字幕| 国产精品美女午夜爽爽| 美女毛片一区二区三区四区| 国产精品天堂蜜av在线播放| 99热国内精品| 成人国产精品一区二区免费麻豆| 亚洲精品1区| 成人自拍av| 久久精品一本| 91成人精品观看| 美女日韩在线中文字幕| 久久亚洲国产| 深夜视频一区二区| 精品久久久久中文字幕小说| 日本亚州欧洲精品不卡| 免费日韩av| 久久激情网站| 99久久精品费精品国产| av资源中文在线| 精品网站aaa| 久久伊人国产| 美女在线视频一区| 国产精品一区二区精品视频观看| 亚州国产精品| 日韩和欧美一区二区| 日韩精品中文字幕吗一区二区| 蜜臀久久99精品久久久画质超高清| 亚洲大全视频| 日韩专区在线视频| 影音先锋久久精品| 日本中文字幕不卡| 丝袜美腿亚洲一区| 日韩av影院| 精品三级在线| 久久久成人网| 免费人成在线不卡| 91成人精品观看| 91日韩在线| 999国产精品999久久久久久| 日韩中文视频| 亚洲视频www| 国产亚洲观看| 国产精品久久久久久久久久10秀| 电影亚洲精品噜噜在线观看| 国产午夜精品一区二区三区欧美| 亚洲欧洲国产精品一区| 国产欧美二区| 久久精品av| 97久久超碰| 日本精品在线中文字幕| 蜜臀av一区二区在线免费观看| 国产精品2023| 五月婷婷六月综合| 国产日韩1区| 免费精品国产的网站免费观看| 亚洲精品一二| 久久人人88| 国产精品天天看天天狠| 午夜免费一区| 久久精品国产亚洲aⅴ | 国产女优一区| 国产一区福利| 日韩欧美中文字幕在线视频| 色综合www| 欧美国产日韩电影| 亚洲欧美不卡| 中文字幕在线官网| 日韩精品一区二区三区中文| 国产一区二区精品福利地址| 在线国产日韩| 免费黄色成人| 樱桃视频成人在线观看| 久久激情五月婷婷| 日韩影院精彩在线| 国产精品99在线观看| 奇米亚洲欧美| 日韩专区在线视频| 欧美+亚洲+精品+三区| 福利片在线一区二区| 美腿丝袜亚洲三区| 久久激情av| 国产伦精品一区二区三区在线播放| 男女精品网站| 亚洲国产一区二区在线观看| 亚洲成人二区| 99精品综合| 黑丝一区二区三区| 夜夜精品视频| 视频精品一区二区| 欧美日韩国产精品一区二区亚洲| 午夜精品成人av| 欧美 日韩 国产一区二区在线视频| 日韩在线综合| 99久久久国产精品美女| 欧美sss在线视频| 色婷婷狠狠五月综合天色拍| 国产在线成人| 亚洲免费婷婷| 欧美在线不卡| 高清一区二区| 欧美成人午夜| 国产亚洲精品自拍| 日本综合视频| 国产一区二区三区日韩精品| 国产劲爆久久| 亚洲风情在线资源| 尤物在线精品| 欧美日韩一区自拍| 精品国产鲁一鲁****| 天堂中文av在线资源库| japanese国产精品| 日韩福利视频导航| 91亚洲一区| 亚洲免费影院| 久久精品伊人| 性欧美长视频| 精品视频97| 免费在线观看日韩欧美| 久久a爱视频| 欧美69视频| 国产日韩视频在线| 自拍日韩欧美| 精品亚洲a∨| 亚洲在线国产日韩欧美| 免费在线亚洲欧美| 亚洲主播在线| 色婷婷亚洲mv天堂mv在影片| 亚洲欧洲另类| 亚洲精品在线影院| 精品国产精品久久一区免费式| 精品久久久久中文字幕小说| 国产成人精选| 亚洲成人不卡| 日韩av网站在线免费观看| 国产欧美日韩影院| 激情综合激情| 美女福利一区二区三区| 国产精品115| 国产伦一区二区三区| 亚欧成人精品| 日韩欧美中文在线观看| 蜜臀av国产精品久久久久| 久久久精品久久久久久96 | 色老板在线视频一区二区| 风间由美中文字幕在线看视频国产欧美| 欧美精品一二| 日韩三区免费| 成人一区而且| 欧美日韩伊人| 日韩欧美久久| 国产精品毛片视频| 国产精品极品国产中出| 亚洲视频电影在线| 成人午夜在线| 麻豆国产精品|