学习笔记——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-18 多个装饰器使用的实例: 1 # 定义一个装饰器 2 def make_p(func): 3 print(“执行装饰器make_p”) 4 5 def inner(): 6 # 对已有函数增加新的功能 7 result = “<p>” + func() + “</p>” 8 # 和已有函数保持一致,如果已有函数有返…

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

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

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

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

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

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

    2023年4月2日
    00
  • 学习笔记——美多商城——1 美多商城项目准备

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

    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项目中的过滤器,模板继承

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

    Python开发 2023年4月2日
    00
  • Django项目中的数据库引擎的修改注意点以及级联删除的设置

    2022-09-29 问题描述: 在“setting.py”的配置文件中修改数据库引擎中,将系统默认的”sqlite3″后缀改为了“sql”。出现问题。 原因分析:    问题查看:  修改后:    —————————————— 上述问题修改后,在“setting”中设置数据库的其他内容(主机、端口、…

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