av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

Python的輕量級(jí)ORM框架peewee使用教程

瀏覽:108日期:2022-06-28 11:16:19

ORM框架使用最廣泛的就是SQLAlchemy和Django自帶的ORM框架,但是SQLAlchemy的語法顯然相對Django的ORM框架麻煩一點(diǎn)。

而Django本身是一個(gè)web框架,比較重量級(jí),僅僅為了使用Django的ORM框架的功能,而安裝Django有點(diǎn)導(dǎo)致系統(tǒng)臃腫。而peewee這個(gè)框架語法幾乎與Django的ORM框架一致,而又非常輕量。

它的安裝非常簡單:

pip install peewee

如果你在使用mysql數(shù)據(jù)庫的過程中報(bào)出如下錯(cuò)誤:

peewee.ImproperlyConfigured: MySQL driver not installed!

則需要安裝一個(gè)mysql的驅(qū)動(dòng):

pip install pymysql

peewee的whl包是880kB,pymysql的whl包是51KB,非常輕量級(jí)。

peewee的官方文檔地址:http://docs.peewee-orm.com/en/latest/index.html

下面測試一下各項(xiàng)功能:

from peewee import *db = MySQLDatabase(’test’, host='localhost', user=’root’, passwd=’123456’, port=3306)# 定義Personclass Person(Model): name = CharField() birthday = DateField() is_relative = BooleanField() class Meta: database = db def test_create(): Person.create_table() # 創(chuàng)建多張表也可以這樣 # database.create_tables([Person])def test_insert(): # 添加一條數(shù)據(jù) p = Person(name=’小華’, birthday=date(1996, 12, 20), is_relative=True) p.save()def test_delete(): # 刪除姓名為perter的數(shù)據(jù) Person.delete().where(Person.name == ’perter’).execute() # 已經(jīng)實(shí)例化的數(shù)據(jù), 使用delete_instance p = Person(name=’小華’, birthday=date(1996, 12, 20), is_relative=False) p.id = 1 p.save() p.delete_instance()def test_update(): # 已經(jīng)實(shí)例化的數(shù)據(jù),指定了id這個(gè)primary key,則此時(shí)保存就是更新數(shù)據(jù) p = Person(name=’小華’, birthday=date(1996, 12, 20), is_relative=False) p.id = 1 p.save() # 更新birthday數(shù)據(jù) q = Person.update({Person.birthday: date(1983, 12, 21)}).where(Person.name == ’小華’) q.execute()def test_query(): # 查詢單條數(shù)據(jù) p = Person.get(Person.name == ’小華’) print(p.name, p.birthday, p.is_relative) # 使用where().get()查詢 p = Person.select().where(Person.name == ’小華’).get() print(p.name, p.birthday, p.is_relative) # 查詢多條數(shù)據(jù) persons = Person.select().where(Person.is_relative == True) for p in persons: print(p.name, p.birthday, p.is_relative)

下面測試一個(gè)各個(gè)方法。

測試創(chuàng)建表:

if __name__=='__main__': Person.create_table()

執(zhí)行完畢,檢查數(shù)據(jù)庫成功創(chuàng)建下面這張表:

測試插入數(shù)據(jù):

if __name__=='__main__': p = Person(name=’小華’, birthday=date(1996, 12, 20), is_relative=True) p.save()

執(zhí)行完畢后,表數(shù)據(jù)多了一行:

測試查詢數(shù)據(jù):

if __name__=='__main__': p = Person.get(Person.name == ’小華’) print(p.name, p.birthday, p.is_relative)

結(jié)果:

小華 1996-12-20 True測試刪除數(shù)據(jù):

if __name__=='__main__': Person.delete().where(Person.name == ’小華’).execute()

執(zhí)行后,數(shù)據(jù)庫對應(yīng)的記錄被刪除:

測試修改數(shù)據(jù):

if __name__ == '__main__': p = Person(name=’小新’, birthday=date(1995, 6, 20), is_relative=False) p.save() # 更新birthday數(shù)據(jù) q = Person.update({Person.birthday: date(1983, 5, 21)}).where(Person.name == ’小新’) q.execute()測試批量查詢:

if __name__ == '__main__': for i in range(1, 5): p = Person(name=f’小張{i}’, birthday=date(1995, 6, 20), is_relative=False) p.save() # 查詢多條數(shù)據(jù) persons = Person.select().where(Person.is_relative == False) for p in persons: print(p.name, p.birthday, p.is_relative)

以上就是Python的輕量級(jí)ORM框架peewee使用教程的詳細(xì)內(nèi)容,更多關(guān)于Python的輕量級(jí)ORM框架peewee的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产99免费视频 | 男女午夜免费视频 | 综合色播 | 精品国产乱码久久久久久蜜柚 | 国产精品一区二区在线观看 | 日韩免费视频一区二区 | 成人av免费网站 | 亚洲一区二区三区视频 | 色资源在线| 国产高清久久久 | 在线黄色网 | 精品伊人久久 | 久久久久久国产 | 少妇av片| 免费黄色网址视频 | 91在线导航 | 日韩美女一区二区三区在线观看 | 亚洲一级黄色 | 天堂中文av | 国产资源在线视频 | 99久久日韩精品免费热麻豆美女 | 999视频在线播放 | 午夜国产羞羞视频免费网站 | 亚洲国产精品久久久久婷婷老年 | 伊人狠狠 | 日韩在线一区二区三区 | 亚洲精品日韩欧美 | 97伦理影院 | 国产色黄| 日韩在线欧美 | 黄色网址在线免费播放 | 亚洲精品中文字幕 | 亚洲一区二区三区视频在线 | 黄网站免费在线 | 五月婷婷色 | 成人av久久| 久久亚洲一区二区三 | 精品国产乱码一区二区三区 | 日韩精品一区二区三区中文在线 | 国产精品久久国产精品久久 | 男女网站在线观看 |