PythonWeb开发Django框架学习(九)使用Model类操作数据库数据

来源:互联网 发布:淘宝代运营有效果吗 编辑:程序博客网 时间:2024/05/17 13:05

上次说到了如何将Model类与数据库建立联系,这次呢就说一下在连接数据库之后,如何使用Model中的实体类对数据库中的数据进行增删改查的操作。

我之前说过啦,为了方便学习我使用的是windows操作系统,所以我安装了一个SqliteStudio的工具,帮助我查看数据库。还有就是这节所涉及的代码操作性很强,我就不一一截图演示说明啦,关键在于每个人自己去试试。

我将实验之后没有太大问题(注:当然基础学习嘛肯定还是没有注意其他问题的,例如删除的对象不存在怎么办)的代码贴在下面,自己进行验证吧

1.增加数据:

newstu = Student(name="abc",age=25,intime="2011-09-07")#创建一个实体类对象newstu.save()#将对象进行保存就相当于执行insert into 语句
2.删除数据:

studentDel = Student.objects.get(id=6)#获取单个对象,相当于执行"select * from student where id = 6"studentDel.delete()#相当于执行delete语句
3.修改数据:

student = Student.objects.get(id = 2)#获取单个对象等同于 select * from student where id = 2#修改对象的属性值,进行保存就相当于修改了字段的值啦student.name = "Tom"student.age = 30student.save()
4.查询数据:(在这里面有个名词叫做过滤器,就相当于过滤数据的吧)

studentList = Student.objects.all()#查询所有数据#studentList = Student.objects.all().order_by("age")#查询出来的所有数据根据age排序#studentList = Student.objects.filter(age = 20)#引入过滤器,可以搜索age=20的学生#studentList = Student.objects.filter(age__gt=20)#引入过滤器,age__gt = 20代表age>20 ;age__gte = 20代表age>=20#studentList = Student.objects.filter(name__contains = "张")#引入过滤器name__contains代表name like "% %"
当然有关的filter操作还有很多,我在这里就列举一些:


5.结合查询和其他操作可以执行批量修改或者批量删除等等操作,例如:

studentList = Student.objects.filter( age__lt = 21).update(name="Jake")
上面这条语句就是说将所有age<21的数据的name改成Jake

好啦,这就是简单的增删改查的操作啦。






阅读全文
0 0
原创粉丝点击