学习笔记——Django项目的删除数据、查询数据(filter、get、exclude)

2022-09-30

删除数据:

方式一:

打开pycharm,进入虚拟环境,进入shell环境(python manage.py shell)。

删除数据,接上面的笔记——“学习笔记——Django项目的新增数据、修改数据”

导入模块:

from book.models import BookInfo1

查找到要删除的数据:

book = BookInfo1.objects.get(id = 3)

进行删除操作:

book.delete()

-----------------------

方式二:

同理导入模块,找到并删除的操作

BookInfo1.objects.filter(id = 5).delete()

 查询是否删除,可以先打开终端,进入MySQL(mysql -uroot -p),输入密码,进入存放表的数据库,先查看表的信息存储,进行删除操作后,再次查看表中记录中指定的记录是否删除成功(select * from book_bookinfo1)

-----------------------------------------------------

在shell中查询数据(基础查询):

1、查询指定的数据

导入模块后,进行查询

BookInfo1.objects.get(id = 1)

  说明:在shell中执行该语句,返回的是这个表中的一个对象。

如果查询的数据在存储表中不存在,那么会出现异常,因此此处的查询可以增加一个“try...except”捕获异常的结构。例:

try:
    BookInfo1.objects.get(id = 100)
except Exception as e:
    print(e)

捕获到的异常为:

学习笔记——Django项目的删除数据、查询数据(filter、get、exclude)

 

 可增加系统功能的强健性。

2、查询表中的所有记录

导入模块

BookInfo1.objects.all()

  说明:执行该语句,返回的包含所有对象的一个列表。这里的“每一个对象”指的就是插入的“每一条记录”。

3、查询表里面记录的个数:

导入模块

BookInfo1.objects.count()

或者是

BookInfo1.objects.all().count()

输出的结果是一样的。

-----------------------------

filter、get、exclude查询

说明:

filter:          查询返回的是一个结果集列表,列表内的个数可以为0/1/n

get:            查询返回的结果是一个对象

exclude:  查询除了符合条件之外的记录,返回的是一个列表。

(1)查询编号为1的图书

BookInfo1.objects.get(id=1)

  注:objects相当与“增删改查”的代理。

也可以为:

BookInfo1.objects.filter(id__exact = 1)

  注:其中“字段名__检索要求”是标准写法。

(2)查询书籍名称中包含“小”的图书

BookInfo1.objects.filter(name__contains = "")

(3)查询数据名称末尾是“传”的图书

BookInfo1.objects.filter(name__endswith = "")

  注:此处是两个下划线。

(4)查询书籍名称为空的记录

BookInfo1.objects.filter(name__isnull = True)

  注:此处判断为空的结果是一个boolean类型的值。

(5)查询编号为1,3,5的图书

BookInfo1.objects.filter(id__in = [1,3,5])

(6)查询大于编号3的图书

BookInfo1.objects.filter(id__gt = 3)

  说明:gt:是大于;gte:是大于等于;lt:是小于;lte:是小于等于。

(7)查询除了编号为3的图书

BookInfo1.objects.exclude(id__exact = 1)

(8)查询出版时间在2000年的图书

BookInfo1.objects.filter(pub_date__year = "2000")

  注:判断“年”时,要使用的是“__year”

(9)查询出版时间在“2000-01-01”之后的图书

BookInfo1.objects.filter(pub_date__gt = "2000-01-01")

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:学习笔记——Django项目的删除数据、查询数据(filter、get、exclude) - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • Redis与Python连接实例

    2022-09-22 1、 Redis与Python建立连接之前需要先安装“Redis”安装包: 在ubantu中,打开终端,输入命令: sudo pip install redis 此时,是安装Python2.0的版本。 一般来说,是将3.0和2.0的版本都安装,安装3.0的命令: sudo pip3 install redis 2、python与redi…

    2023年4月2日
    00
  • 学习笔记——Django项目中的过滤器,模板继承

    2022-10-08 过滤器 过滤器的含义:   过滤器即筛选出我们设定需要的,过滤掉我们不需要的数据。 过滤器使用的场景:   例如:在子应用的“views.py”中的一个类中的函数设置了一个请求在浏览器页面显示“组织内容”,例如:在“组织内容”中设置了一个“birthday:datatime.now()”。在“templates”文件夹中的“index.…

    Python开发 2023年4月2日
    00
  • 运行的第一个Django

    2022-09-24 创建了一个Django项目后,进行测试,输入指令: python manage.py runserver 出现了如下问题:      我还想着,Django模块通过安装“pip install django”导入了好几遍,尝试了几次都是这样。后来发现,是虚拟环境中没有Django模块的文件夹。之后,将之前下载解压的Django文件夹放入…

    2023年4月2日
    00
  • 装饰器的使用

    2022-09-17 装饰器的使用实例——获得计时函数所用时间: 1 import time 2 # 定义装饰器函数 3 def decorator(fun): 4 def inner(): 5 # 获得开始时间 6 start = time.time() 7 # 执行计时函数 8 fun() 9 # 执行计时函数之后所用的时间 10 end = time.…

    Python开发 2023年4月2日
    00
  • 学习笔记——Django项目中的请求与响应

    2022-10-01 ALLOWED_HOSTS “ALLOWED_HOSTS”的含义:   它是指允许放在“ALLOWED_HOSTS”的主机进行访问后端 “ALLOWED_HOSTS”的说明:   它一般默认是“127.0.0.1”,如果添加上其他的主机的话,其他主机也可访问此项目的view,但是此时,需要手动将”127.0.0.1″加入到“ALLOWE…

    Python开发 2023年4月2日
    00
  • 学习笔记——Django项目中的cookie

    2022-10-05 得到cookie信息的实例联系: 在子应用中的“views.py”文件: from django.http import HttpResponse def get_cookie(request): cookies = request.COOKIES username = cookies.get(‘username’) return Ht…

    Python开发 2023年4月2日
    00
  • 在浏览器中Django项目的静态文件打不开的一个原因

    2022-09-27 问题描述:   编写Django代码时,设置了一个“static”文件夹,在里面放置了一张图片。在“setting”中设置了静态文件在服务器中的存储路径,But 浏览器运行时,显示    找不到,就很奇怪。 问题原因:   之后,在看了一眼代码,发现了一个问题,它是源于一个拼写的错误,如下   发现这个存储位置的拼写少了一个”s”。 其…

    2023年4月2日
    00
  • 学习笔记——Django项目中的结果集、分页

    2022-10-01 结果集的含义:   结果集就是在查询过程中,返回的一个列表的集合。 常见的结果集在一些函数中查询会返回,具体包括的函数有:   filter、exclude、order_by 结果集的两大特性:   (1)惰性       指的是查询时,如果不用则在mysql日志中不会有查询记录。反之,如果使用(一般是输出)的话,就会在记录日志中有记录…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部