ORM框架可以做的两件事:
- 创建、修改、删除数据库中的表(不用写SQL语句)。【无法创建数据库】
- 操作表中的数据(不用写SQL语句)
1.安装第三方模块:
pip3.9 install mysqlclient
2.创建数据库:
- 启动Mysql服务,打开终端
- 创建数据库
create database Day14 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
3.Django连接数据库
修改为:
4.基于Django操作表
在app的models.py文件中:
- 操作表结构
执行命令:
注意:app需要提前注册
python manage.py makemigrations
python manage.py migrate
若想在数据库中添加更多表,只需添加更多类,然后执行命令即可。
删除表或表中的属性,只需将类中的相应代码注释掉然后在执行命令即可。
新增属性执行命令时会出现两个选项:
- 操作表中的数据
- 新建:
# 新建数据
UserInfo.objects.create(name="孔六", password="123", age=12)
UserInfo.objects.create(name="孔六", password="123") # age有默认值时可以不用添加
- 删除:
# 删除数据
UserInfo.objects.filter(id=2).delete() #删除 id=2 的元素
UserInfo.objects.all().delete() # 删除表中所有元素
- 获取
# 获取数据
# data_list=[对象,对象,对象] QuerySet类型
data_list = UserInfo.objects.all() #获取所有数据
for obj in data_list:
print(obj.id, obj.name, obj.password, obj.age)
data_list = UserInfo.objects.filter(id=1) # 获取id=1 的数据
row_obj = UserInfo.objects.filter(id=1).first() #第一条数据,得到是一个对象
print(row_obj.id,row_obj.name,row_obj.password,row_obj.age)
- 更新数据
# 更新数据
UserInfo.objects.all().update(password="999")
UserInfo.objects.filter(id="1").update(name="123")
3.案例:用户管理
- 展示用户列表
添加url:
写视图函数:
写HTML文件:
- 添加用户
添加url:
视图函数:
HTML文件:
用户列表直接跳转到添加:
- 删除用户:
添加URL:
视图函数:
HTML文件: