学习笔记——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日

相关文章

  • 装饰器的使用

    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
  • 学习笔记——美多商城——1 美多商城项目准备

    2022-10-23 步骤: 一、创建工程仓库 (1)在“码云”上创建一个仓库,在本地盘符中创建一个文件夹,右击,使用git,将远程仓库的内容克隆到本地仓库中,点击“Git Bash Here”。将刚刚创建的远程仓库克隆,使用的命令是“git clone 刚刚远程仓库的地址(点击(克隆/下载)按钮会出现一个网址)”。之后,系统会弹出弹框,要求输入Gitee中…

    Python开发 2023年4月2日
    00
  • 学习笔记——Django项目中新增数据、修改数据

    2022-09-30 新增数据 方式一: 进入虚拟环境,进入shell工具环境中(“python manage.py shell”),插入数据。在插入数据之前,可以先将要插入的内容写在“views.py”中,,这样做的目的是先写在此处会有代码提示,较为方便。之后将内容放到shell工具中。 首先,先要导入某个表,使用的是ORM模式,因此导入的是一个子应用中的…

    Python开发 2023年4月2日
    00
  • python中组合数据的操作

    2022-09-26 组合数据类型:  列表     字典     集合     元组 拷贝:     deep(深拷贝)     shallow(浅拷贝)     区别:例如,文件中有一个指针指向另一块存储空间,如果是深拷贝则将指向的那一块文件内容也全部拷贝,如果是浅拷贝那么不需要将指针指向的内容进行拷贝,只拷贝第一层级的内容。指针指向的内容属于第二层级。…

    Python开发 2023年4月2日
    00
  • 创建Django项目

    2022-09-24 在创建Django项目时,出现了    错误,查了一下,发现要创建一个Django项目,需要先使用命令: python -m pip install pytz 安装一个“时区模块”。一般错误提示中出现“xxx”模块没有发现,大概率是要进行安装一个模块或者其他。 之后创建一个Django项目: django-admin startproj…

    2023年4月2日
    00
  • 闭包第一天

    2022-09-09 1、闭包的作用: 可以保存外部函数的变量 2、闭包的形成条件 (1)函数嵌套 (2)内部函数使用了外部函数的变量或者参数 (3)外部函数返回内部函数,这个使用了外部函数变量的内部函数称为闭包 3、典例 1 # 函数嵌套 2 def func_out(): 3 # 外部函数 4 num1 = 10 5 6 def func_inner(n…

    2023年4月2日
    00
  • 闭包第2天

    2022-09-10 闭包的使用实例 1 def config_name(name): 2 def inner(msg): 3 print(name + “:” + msg) 4 5 print(id(inner)) 6 return inner 7 8 A = config_name(“A”) 9 B = config_name(“B”) 10 A (“有…

    2023年4月2日
    00
  • 学习笔记——Django项目中的F对象,Q对象,聚合函数,排序

    2022-09-30 F对象:   在shell中是用于两个有关联的属性之间的查询。 使用实例: 查询书籍表中阅读量大于评论量的记录 前提,进入pycharm,进入虚拟环境,进入shell环境。 首先,要使用F对象,那么就需要导入F对象 from django.db.models import F 后进行查询 BookInfo1.objects.filter…

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