django框架学习:12.数据操作增删改查

前言

django的modles模块里可以新增一张表和字段,通常页面的操作都是源于数据库的增删改查,怎样通过django实现数据库的增删改查呢?

数据库新增数据

上一篇我们创建了ke24_user表,将use_name ="liushui",psw ="123456",mail = "[email protected]"

在urls同级目录下创建testdb.py 文件,创建add_user方法如下:

 给上面创建的方法在urls.py创建一个访问路径。

 打开终端命令行输入:

python manage.py runserver 0.0.0.0:8000

打开浏览器:ip:8000/add_user/  进行访问显示用户创建成功

打开navicat 客户端,查看表格新增数据。

 更新数据

如果想更新数据库里的数据,比如想把数据库里的用户 liushui 的psw更改为“654321”,在testdb.py 文件里,创建update方法。

python manage.py runserver 0.0.0.0:8000

打开浏览器:ip:8000/update_db/  进行访问显示用户创建成功

打开navicat 客户端,查看表格新增数据。

删除数据

如果user表里面的某个用户数据不想要了,也可以删除数据

新urls.py新增访问路径

 

 

python manage.py runserver 0.0.0.0:8000

打开浏览器:ip:8000/delete_user/  进行访问显示用户创建成功

打开navicat 客户端,数据删除成功。

查询数据库

比如我想查询数据库 liushui 对应的mail值

在urls.py同一目录的testdb.py脚本,继续写个select_psw函数

urls.py新增url访问地址

python manage.py runserver 0.0.0.0:8000

打开浏览器:ip:8000/select_mail/  进行访问显示用户创建成功

打开navicat 客户端,查询成功。

查询相关总结:

通过objects这个模型管理器的 all() 获得所有数据行,相当于SQL中的SELECT * FROM
a = User.objects.all() 

filter相当于SQL中的WHERE,可设置条件过滤结果
b = User.objects.filter(id=1)

获取单个对象

c = User.objects.get(id=1)

限制返回的数据 相当于 SQL 中的 OFFSET 0 LIMIT 2;

d = User.objects.order_by('name')[0:2]

查询结果排序

e = User.objects.order_by("id")

上面的方法可以连着使用

f = User.objects.filter(name="runoob").order_by("id")

猜你喜欢

转载自www.cnblogs.com/liushui0306/p/12614653.html