ORM是是一种程序技术,翻译过来就是对象关系映射(ObjectRelationalMapping)。ORM的推出让我们不用考虑处理复杂的SQL语句,隐藏了与数据库交互的操作,同时也解决了通用数据库的问题,这样我们构造对象就变得轻而易举了。关系映射模式有几种比较常见的模式:一对一模式、一对多模式、多对多模式、组合模式等等。很多web开发的语言都会有自己开源的ORM框架,Python的是pony,Doctrine是PHP的ORM框架,golang的框架是gorm。
phpORM框架doctrineORM是一项成熟的技术,具备了实战经验,接下来让我们了解一下Python如何使用ORM框架pony。pipenvinstallpony,同时我们需要安装我们需要使用的数据库驱动依赖,如pyMysql、psycopg或者psycopg2cffi、cx_Oracle。接下来我们需要导入pony.orm这个框架,实例化pony.orm.Database这个对象,调用实例化的db.bind()方法来绑定数据库驱动,这里我们选择mysql的驱动,后面还有几个参数,其实就是数据库连接的那个参数:host、user、password、database等等。接下来我们可以建立自己的模型,如Person这个对象,我们需要继承db.Entity实体,主键id是一个PrimaryKey对象,数据类型为int,且自增,cars是一个集合,其实到了这里英语好一点而且对数据库有所了解的同学就明白了这是什么。
PythonORM框架ponyPythonpony创建ORM对象ORMpony要实现数据的增删改查其实是很方便的,就像操作类的对象一样,调用get方法传入字段的值,如name=Mary,就会返回一个关于Mary的一条记录,当然也可以直接索引1,就像Person是一个容器,我们直接用索引或者调用他的方法获取相应的数据。那么修改数据呢?既然这是一个对象就像操作类的变量一样,自增即可,然后调用