ORM:Object Relational Mapping 对象关系映射
作用:将业务逻辑进行了一个解耦合,比如,调用如下
Object.save() 就是保存数据,不管是什么数据库都会保存
Object.delete() 删除数据
关系型数据库:
DDL :
通过models定义实现,数据库表的定义
数据操作:增删改查
-
存储: Object.save()
-
查询: Object.all() 查询所有
Object.get(pk = xx) pk 是主键 -
更新: 基于查询的,查好的对象,修改属性,然后save()
-
删除: 基于查询的,调用Object.delete()
链接MySQL驱动
- MySQLclient Python2和3都能使用,但是有一个致命的缺点,对MySQL安装有要求,必须指定位置存在配置文件
- python-mysql 对Python2支持非常好,但是不支持3
- pymysql Python2和3都支持,而且还可以伪装成前面的两个库,
所以用第三个.
安装完事后,发现python 不认识这个pymysql 所以需要伪装成MySQLclient , - 写在工程目录下的init里面,其实写在哪个目录下面都OK的,只要是再运行项目之前运行了这两行代码就行了。
- 伪装代码:
import pymysql
pymysql.as代码第一个提示就是。
然后就成功了,去model里面写好了模板也就是数据库表和字段这些乱七八糟的,然后生成迁移文件: python manage.py makemigrantions 然后迁移数据库:python manage.py migrant
这样你的数据库表就搞定了,通过ORM技术,你都可以不用去写SQL语句了,这就是ORM的作用,也就是我开头说的第一句话: 将业务逻辑进行了解耦合。