4.1.ORM -Django的 模块
作用:不用去手动使用数据库的语句如(select * from xxxx),作为一个翻译的工程
4.2.安装mysqlcliet模块
可以通过命令行的方式安装:pip install mysqlclient
如果命令行的方式安装不成功,可以寻找wheel文件,再安装
4.3 ORM可以完成:
创建、修改、删除数据库的表(不用写SQL语句)【无法创建数据库】
操作表中的数据(不用写SQL语句)
(1)自行创建数据库
1.1启动mySQL服务 可参考 (https://blog.csdn.net/weixin_43696992/article/details/124182360) 1.2.创建数据库 create database test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
(2) Django 连接数据库 在setting.py中进行修改
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘test’, # 数据库名字
‘USER’: ‘root’,
‘PASSWORD’: ‘root’,
‘HOST’: ‘127.0.0.1’, # 哪台机器安装了MySQL
‘PORT’: 3306,
}
}
(3)通过django 操作表
- 创建表 - 删除表 - 修改表
在model.py中创建表
如下图,类中的变量就相当于是下面对应的sql语句
其中app01是因为注册的就是表面是app01_xxxxx;
再执行
python manage.py makemigrations
python manage.py migrate
就完成了数据库表的创建。
(数据库可视化软件Navicat 的激活方法 https://www.bilibili.com/video/BV12W4y1z792?spm_id_from=333.337.search-card.all.click ,破解工具在阿里云云盘)
其它的表是Django自动给我们创建的
注意:要完成创建表,对应的app一定要是已经注册****了的。
要添加表就在 models.py中添加类,再执行migrate的两个语句就行
删除表->删除对应的类
删除表内的键->删除类中的变量 (每次修改后都需要执行migrate的语句)
在已有的表中添加新的列,由于表中原有字段数据的新列的值不好赋值,所以需要注意方法:
先退出,自行在变量后添加default=默认值,来赋值已有数据的列的值
这里选择2:
然后设置已有数据列的值
以后在开发中如果想要对表结构进行调整:
-
在models.py文件中操作类即可。
-
命令
-
python3.9 manage.py makemigrations
python3.9 manage.py migrate
(4)通过ORM 操作表中的数据
新建数据:
直接通过 类名.objects.create(列名=“xxxxx”)
测试:通过在views.py中引用models.py的方式来进行新建数据,
新建数据的时候如果列设置了默认值,可以不为列进行自行设置数据
**删除数据:**加粗样式
filter表示将特定的条件数据删除。
获取数据
可以通过循环获取到列表的每行数据:
还可以通过filter拿到特定id的数据,然后通过first()得到第一条数据,这样就能获得一个特定id的对象,就可以直接调用:
更新数据
更新数据同样可以将全部对象列更新,也可以通过filter指定对象的列进行更新



