龙空技术网

小白学python django:mysql CRUD(七)

在路上之探路者 92

前言:

此时看官们对“django增删改查学生查询案例”大体比较看重,我们都需要剖析一些“django增删改查学生查询案例”的相关内容。那么小编也在网摘上网罗了一些关于“django增删改查学生查询案例””的相关知识,希望咱们能喜欢,各位老铁们快快来学习一下吧!

我是做Java的突然接到一个项目,甲方公司要求用python开发,于是我开始学习python。在学习过程中遇到的坑和困难分享给大家,避免大家遇到同样的问题。

这以节主要讲解在django框架对数据库的操作,包括增删改查等,在前面我讲到关于数据库的配置及查询的一些基本知识,这一节是建立在前面的基础之上做的开发。其实django提供了用户权限管理系统,这一部分我觉得没有必要用基本上是可以注释掉,在上面进行二次开发也很费劲,不如自己开发,所以我注释掉这部分不懂,注释的内如如下:

注释掉用户管理模块

基础准备:数据库连接配置,数据迁移,数据表的生成及创建和框架搭建请参考前面的教程。

第一步首先我们来对前面提到的models.py文件里面的员工(User)和部门(Department)属性进行丰富,可以查询出很多有价值的东西,包括不同类型的字段。

修改后的员工和部门model

第二步,自动生成相应的文件。防止大家忘了前面的东西,以及去掉了,用户管理模块,我们再来一次数据迁移及表的创建看看有什么区别,首先我先把数据库中的表全部删除,只留一个空库,并且清除0001_initial.py。生成相应命令是:python manage.py makemigrations fapp,再使用python manage.py sqlmigrate fapp 0001生成数据库对应的表,最后再执行先前用过的数据迁移命令python manage.py migrate,生成相应的表。

运行的命令

生成后的0001_initial.py文件

数据库中的表

第三步,我们通过命令行来实现数据库的增删改查,命令: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增删改查学生查询案例