day18-django数据表基本的增、删、改、查
一、引子
在之前我们也学习过 ssqlalchemy (都已经忘记的差不多了)的面向对象数据库的操作,
但是django的orm有自己的一套,我们还是来学学django是如何操作的吧。
二、前端环境
我们要实现的是通过,网页来进行后台数据的交互,
先把前端环境,简单设置一下,无它(简单复习一下前面学的url 设置,页面html)
1.先设置url 映射,


2.前端页面

3.运行--测试结果

三、环境配置完成下面开搞
3.1增加数据,
在 app01\ views 代码,
1.导入models,
2.models.Userinfo.objects.create() 创建数据
1 from app01 import models 2 def index(request): 3 #方法1,推荐方法,代码量少 4 models.Userinfo.objects.create(username="niubi1",passwd="niubi123") 5 6 #方法2 7 obj=models.Userinfo(username="niubi2",passwd="niubi2bbbb") 8 obj.save() 9 10 #方法3,方法二的变种,先创建字典,把字典作为参数传入,需要加 **dic 11 dic={"username":"niubi3","passwd":"niubi3bbbb"} 12 obj3=models.Userinfo(**dic) 13 obj3.save() 14 15 #当访问页面时触发以上操作创建3条数据。 16 return render(request,"index.html")
在数据库中的数据

3.2 查询数据
上面的栗子中,我们还使用了sql 语句在数据中查询,下面我们学习怎么使用django orm 直接查询
1 #查询所有数据 2 obj5=models.Userinfo.objects.all() 3 print(type(obj5)) 4 for row in obj5: 5 print(row) 6 7 #查询数据,增加条件,相当于where ,username=..,passwd=..两个相当于 sql and 关系,后面会补充其它。。。 8 obj6=models.Userinfo.objects.filter(username="niubi1",passwd="niubi123") 9 print(obj6)
3.3 删除数据
1 #删除数据,相当于先查询,在删除 2 obj7=models.Userinfo.objects.filter(id=6).delete()
3.4 更新数据
1 #更新 2 obj7=models.Userinfo.objects.filter(id=5).update(passwd="6969") 3 4 #更新所有, 5 obj8=models.Userinfo.objects.all().update(passwd="69")
3.5 查询补充,毕竟sql 中估计70% 的操作时查询操作
1 #只查询某个字段, 2 models.Userinfo.objects.only('username').filter(username="niubi1") 3 #id>1 id__gt 4 models.Userinfo.objects.filter(id__gt=1) 5 #id<1 id__lt 6 models.Userinfo.objects.filter(id__lt=1) 7 #id>=1 id__gte 8 models.Userinfo.objects.filter(id__gte=1) 9 #id<=1 id__lte 10 models.Userinfo.objects.filter(id__lte=1) 11 #查询后,获取第一条数据 12 models.Userinfo.objects.filter(username="niubi").first() 13 #not in 14 models.Userinfo.objects.exclude(id=1) 15 #排序 16 models.Userinfo.objects.all().order_by("id") 17 #between...and... 18 models.Userinfo.objects.filter(id__range=[1,2]) 19 #in 20 models.Userinfo.objects.filter(id__in=[1,2,3]) 21 #切片 22 models.Userinfo.objects.all()[5:10]

浙公网安备 33010602011771号