前言:
此时看官们对“django增删改查学生查询案例”大体比较看重,我们都需要剖析一些“django增删改查学生查询案例”的相关内容。那么小编也在网摘上网罗了一些关于“django增删改查学生查询案例””的相关知识,希望咱们能喜欢,各位老铁们快快来学习一下吧!我是做Java的突然接到一个项目,甲方公司要求用python开发,于是我开始学习python。在学习过程中遇到的坑和困难分享给大家,避免大家遇到同样的问题。
这以节主要讲解在django框架对数据库的操作,包括增删改查等,在前面我讲到关于数据库的配置及查询的一些基本知识,这一节是建立在前面的基础之上做的开发。其实django提供了用户权限管理系统,这一部分我觉得没有必要用基本上是可以注释掉,在上面进行二次开发也很费劲,不如自己开发,所以我注释掉这部分不懂,注释的内如如下:
基础准备:数据库连接配置,数据迁移,数据表的生成及创建和框架搭建请参考前面的教程。
第一步首先我们来对前面提到的models.py文件里面的员工(User)和部门(Department)属性进行丰富,可以查询出很多有价值的东西,包括不同类型的字段。
第二步,自动生成相应的文件。防止大家忘了前面的东西,以及去掉了,用户管理模块,我们再来一次数据迁移及表的创建看看有什么区别,首先我先把数据库中的表全部删除,只留一个空库,并且清除0001_initial.py。生成相应命令是:python manage.py makemigrations fapp,再使用python manage.py sqlmigrate fapp 0001生成数据库对应的表,最后再执行先前用过的数据迁移命令python manage.py migrate,生成相应的表。
第三步,我们通过命令行来实现数据库的增删改查,命令:python manage.py shell。
查询所有部门数据:Department.objects.all()
Department.objects.all()[5:10]相当于limit语句
部门数据条件筛选:Department.objects.filter(name='XXXX')筛选name=XXXX的所有记录。相当于sql语句select * from department where name='xxxx'
Department.objects.filter(name__contains='xxxx')代表字段name中含有xxxx的所有记录,相当like'%xxxx%'语句,也可以使用通配符__xxxx。
Department.objects.filter(name_isnull=true)代表字段name值为null的所有记录,相当于name is nul l如果name_isnull=false,代表查询不为null的所有记录,相当于name is not null.
Deparment.objects.filter(name__in=['a','b'])相当于where name in ('a','b')
departments=Department.objects.filter(name='a',id=1)中多个字段就相当于and的效果。
departments=Department.objects.filter(name='a'|id=1)中多个字段就相当于or的效果。
values('name','id')代表要查询的字段。
delete()删除语句
好了到目前为止CURD说完了,下一节讲讲聚合数据。由于春节放假,后面要等春节以后,提前祝大家春节快乐,阖家欢乐,年后一切会更好!
标签: #django增删改查学生查询案例