介绍
这篇文章给大家分享的是有关python如何实现一个ORM的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
python有哪些常用库
python常用的库:1. requesuts; 2. scrapy; 3.枕头;4.扭曲;5. numpy; 6. matplotlib; 7. pygama; 8. ipyhton等。
<强> 1,定义类领域,它负责保存数据库表的字段名和字段的类型:强>
class 字段(对象): ,,,def __init__(自我,,名字,,column_type): ,,,,,,,self.name =,名字 ,,,,,,,self.column_type =, column_type
<强> 2,在领域的基础上,进一步定义各种具体类型的字段中,>强比如StringField, IntegerField等等:
class StringField(领域): ,,,def __init__(自我,,名字,,max_length): ,,,,,,,超级(StringField,,自我). __init__(名字,,& # 39;varchar (% d) & # 39;, %, max_length) , class IntegerField(领域): ,,,def __init__(自我,,名字): ,,,,,,,超级(IntegerField,,自我). __init__(名字,,& # 39;int # 39;)
<强> 3,下一步,就是编写最复杂的ModelMetaclass了:强>
class ModelMetaclass(类型): ,,,def __new__ (cls,,名字,,基地,,attrs): ,,,,,,,if name ==, & # 39;模型# 39;: ,,,,,,,,,,,return type.__new__ (cls、,名称,基地,,attrs) ,,,,,,,印刷(& # 39;Found 模型:,% & # 39;,%,名称) ,,,,,,,mappings =, dict类型() ,,,,,,,for k, v 拷贝attrs.items (): ,,,,,,,,,,,if isinstance (v),字段): ,,,,,,,,,,,,,,,映射[k],=, v ,,,,,,,for k 拷贝mappings.keys (): ,,,,,,,,,,,attrs.pop (k) ,,,,,,,attrs [& # 39; __mappings__& # 39;],=,映射 ,,,,,,,attrs [& # 39; __table__& # 39;],=,名字 ,,,,,,,return type.__new__ (cls、,名称,基地,,attrs)
<强> 4,创建用户类,并调用保存方法,保存:强>
class 用户(模型): ,,,id =, IntegerField (& # 39; id # 39;) ,,,name =, StringField(& # 39;用户名# 39;,,max_length=48) ,,,email =, StringField(& # 39;电子邮件# 39;,,max_length=128) ,,,password =, StringField(& # 39;密码# 39;,,max_length=24) , #,创建一个实例: 时间=u 用户(id=12345, name=& # 39;小明# 39;,,邮件=& # 39;xiaoming@xiaomi.com& # 39;,,密码=& # 39;测试# 39;) #,保存到数据库: u.save ()
感谢各位的阅读!关于“python如何实现一个ORM”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!