在学习中,接触到ORM这个概念是因为做一个基于Django的前后台网站,但是一直都只是为了完成项目,很多理论知识没有去详查,只要程序能按要求工作就好。。。
但在之后的一次查资料的情况下发现有一个SQLAlchemy的框架,就产生了一个疑问,这两者有什么区别,我们要如何选择使用?
查看了很多人写的博客之类,还是没有深刻的认识,所以先解决自己的疑问把项目做下去吧。
Django ORM和SQLAlchemy都只是Python ORM的ORM框架,当然还有其他的,这里自行查找。
一、首先,ORM是什么呢?
ORM (Object-Relational-Mapping),即对象关系映射,理解为:
- 对象:为某对象或编程语言使用了该框架,如python
- 关系:要使用的数据库
- 映射:连接上面两者的桥梁
所以ORM是连接数据库和对象的一种技术(有人也理解为实现该技术的库),可以使用面对对象的方式操作数据库。
我首先感受到的优点是,可以降低代码耦合度,当需要修改连接的数据库时,只需要修改绑定的数据库语句,而无需修改数据库操作的语句(如:删除、修改表)。
二、好啦,接下来,Django ORM和SQLAlchemy使用哪一个呢?
如果你对数据库的使