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]

 

posted @ 2018-07-16 13:38  东郭仔  阅读(315)  评论(0)    收藏  举报