麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > python簡單實(shí)現(xiàn)了一個(gè)ORM

python簡單實(shí)現(xiàn)了一個(gè)ORM

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-13 20:21:17 1699878077

python簡單實(shí)現(xiàn)了一個(gè)ORM

(推薦操作系統(tǒng):windows7系統(tǒng)、Python3.9.1、DELLG3電腦。)

1、定義Field類,它負(fù)責(zé)保存數(shù)據(jù)庫表的字段名和字段的類型:

classField(object):

def__init__(self,name,column_type):

self.name=name

self.column_type=column_type

2、在Field的基礎(chǔ)上,進(jìn)一步定義各種具體類型的Field,比如StringField,IntegerField等等:

classStringField(Field):

def__init__(self,name,max_length):

super(StringField,self).__init__(name,'varchar(%d)'%max_length)

classIntegerField(Field):

def__init__(self,name):

super(IntegerField,self).__init__(name,'int')

3、下一步,就是編寫最復(fù)雜的ModelMetaclass了:

classModelMetaclass(type):

def__new__(cls,name,bases,attrs):

ifname=='Model':

returntype.__new__(cls,name,bases,attrs)

print('Foundmodel:%s'%name)

mappings=dict()

fork,vinattrs.items():

ifisinstance(v,Field):

mappings[k]=v

forkinmappings.keys():

attrs.pop(k)

attrs['__mappings__']=mappings

attrs['__table__']=name

returntype.__new__(cls,name,bases,attrs)

4、創(chuàng)建User類,并調(diào)用save方法,保存:

classUser(Model):

id=IntegerField('id')

name=StringField('username',max_length=48)

email=StringField('email',max_length=128)

password=StringField('password',max_length=24)

#創(chuàng)建一個(gè)實(shí)例:

u=User(id=12345,name='xiaoming',email='xiaoming@xiaomi.com',password='test')

#保存到數(shù)據(jù)庫:

u.save()

以上就是python簡單實(shí)現(xiàn)了一個(gè)ORM,希望能對(duì)大家有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
主站蜘蛛池模板: 欧美四虎| 小嫩妇又紧又嫩好紧视频| 三级极精品电影| 欧美一级片免费在线观看| 久久精品a亚洲国产v高清不卡 | 亲密爱人免费完整在线观看| 亚洲人成电影院在线观看| 国产精品日本一区二区在线播放| 向日葵视频app免费下载| 87福利电影| 巨大欧美黑人xxxxbbbb| 福利电影一区二区| 女大学生沙龙室3| 大香煮伊在2020一二三久应用| 色播影院性播免费看| 男按摩师电影| 国产精品无码永久免费888| 中文在线√天堂| 韩国理伦大片三女教师| 国产真实迷j在线播放| 2023av在线播放| 超污视频在线观看| 欧美性大战久久久久久久| 美女的尿口无遮掩的照片| 福缘宝妻| 久久精品国产欧美日韩99热| 99精品久久99久久久久| 公车揉捏h| 国产又粗又猛又爽又黄的免费视频| 2021国内精品久久久久影院| 天堂8在线天堂资源bt| 三级台湾电影在线| 在线观看北条麻妃| 色妞网| 亚洲精品动漫人成3d在线| 超污视频在线观看| 波多野结衣伦理视频| 久久夜色精品国产噜噜亚洲a| 亚洲国产一成人久久精品| 蒂法3d同人全肉动漫在线播放| 日本免费观看网站|