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

打印 上一主题 下一主题

主题 984|帖子 984|积分 2952

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
2022-09-30
删除数据:
方式一:
打开pycharm,进入虚拟环境,进入shell环境(python manage.py shell)。
删除数据,接上面的笔记——“学习笔记——Django项目的新增数据、修改数据”
导入模块:
  1. from book.models import BookInfo1
复制代码
查找到要删除的数据:
  1. book = BookInfo1.objects.get(id = 3)
复制代码
进行删除操作:
  1. book.delete()
复制代码
-----------------------
方式二:
同理导入模块,找到并删除的操作
  1. BookInfo1.objects.filter(id = 5).delete()
复制代码
 查询是否删除,可以先打开终端,进入MySQL(mysql -uroot -p),输入密码,进入存放表的数据库,先查看表的信息存储,进行删除操作后,再次查看表中记录中指定的记录是否删除成功(select * from book_bookinfo1)
-----------------------------------------------------
在shell中查询数据(基础查询):
1、查询指定的数据
导入模块后,进行查询
  1. BookInfo1.objects.get(id = 1)
复制代码
  说明:在shell中执行该语句,返回的是这个表中的一个对象。
如果查询的数据在存储表中不存在,那么会出现异常,因此此处的查询可以增加一个“try...except”捕获异常的结构。例:
  1. try:
  2.     BookInfo1.objects.get(id = 100)
  3. except Exception as e:
  4.     print(e)
复制代码
捕获到的异常为:

 
 可增加系统功能的强健性。
2、查询表中的所有记录
导入模块
  1. BookInfo1.objects.all()
复制代码
  说明:执行该语句,返回的包含所有对象的一个列表。这里的“每一个对象”指的就是插入的“每一条记录”。
3、查询表里面记录的个数:
导入模块
  1. BookInfo1.objects.count()
复制代码
或者是
  1. BookInfo1.objects.all().count()
复制代码
输出的结果是一样的。
-----------------------------
filter、get、exclude查询
说明:
filter:          查询返回的是一个结果集列表,列表内的个数可以为0/1/n
get:            查询返回的结果是一个对象
exclude:  查询除了符合条件之外的记录,返回的是一个列表。
(1)查询编号为1的图书
  1. BookInfo1.objects.get(id=1)
复制代码
  注:objects相当与“增删改查”的代理。
也可以为:
  1. BookInfo1.objects.filter(id__exact = 1)
复制代码
  注:其中“字段名__检索要求”是标准写法。
(2)查询书籍名称中包含“小”的图书
  1. BookInfo1.objects.filter(name__contains = "小")
复制代码
(3)查询数据名称末尾是“传”的图书
  1. BookInfo1.objects.filter(name__endswith = "传")
复制代码
  注:此处是两个下划线。
(4)查询书籍名称为空的记录
  1. BookInfo1.objects.filter(name__isnull = True)
复制代码
  注:此处判断为空的结果是一个boolean类型的值。
(5)查询编号为1,3,5的图书
  1. BookInfo1.objects.filter(id__in = [1,3,5])
复制代码
(6)查询大于编号3的图书
  1. BookInfo1.objects.filter(id__gt = 3)
复制代码
  说明:gt:是大于;gte:是大于等于;lt:是小于;lte:是小于等于。
(7)查询除了编号为3的图书
  1. BookInfo1.objects.exclude(id__exact = 1)
复制代码
(8)查询出版时间在2000年的图书
  1. BookInfo1.objects.filter(pub_date__year = "2000")
复制代码
  注:判断“年”时,要使用的是“__year”
(9)查询出版时间在“2000-01-01”之后的图书
  1. BookInfo1.objects.filter(pub_date__gt = "2000-01-01")
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

悠扬随风

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表