Web框架开发-Django-数据库表的单表查询

一、添加表记录

对于单表有两种方式

方式一:

1

2

book_obj=models.Book(title="python全栈开发",price=100,publishData="2015-08-08", author='张三', publish='机械工业出版社')

    book_obj.save()

  

方式二:

1

2

# 方式二:

    models.Book.objects.create(title="java全栈开发",price=150,publishData="2018-08-08", author='李四', publish='人民出版社')

  

二、查询表记录

查询相关API

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

# 1、all():查看所有

   book_obj = models.Book.objects.all()

   print(book_obj)     # 打印的结果是QuerySet集合:<QuerySet [<Book: python全栈开发>, <Book: java全栈开发>]>

   # 2、filter():   可以实现且关系,但是或关系需要借助Q查询实现

   # 查不到的时候不会报错

   print(models.Book.objects.filter(title="python全栈开发"))   # 查询书名为“python全栈开发”

   print(models.Book.objects.filter(price="100", author="张三"))

   # 3、get():如果找不到就会报错,如果有多个值,也会报错,只能拿一个值

   print(models.Book.objects.get(title="python全栈开发"))  # 拿的是model对象

   # 4、exclude():排除条件

   print(models.Book.objects.exclude(title="python全栈开发"))  # 查看除了书名是"python全栈开发"的信息

   # 结果:<QuerySet [<Book: java全栈开发>, <Book: PHP全栈开发>, <Book: PHP全栈开发>, <Book: PHP全栈开发>, <Book: PHP全栈开发>]>

   # # 5、values():是queryset的一个方法(把对象转换成字典的形式)

   print(models.Book.objects.filter(title="python全栈开发").values("publish", "author"))   # 查看书名为“Python全栈开发”的出版社和作者

   # 结果:<QuerySet [{'publish': '机械工业出版社', 'author': '张三'}]>

   # 6、values_list():是queryset的一个方法(把对象转成元组形式)

   print(models.Book.objects.filter(title="python全栈开发").values_list("publish", "author"))

   # <QuerySet [('机械工业出版社', '张三')]>

   # 7、order_by():排序

   print(models.Book.objects.all().order_by("id"))

   # # 8、reverse():倒序

   print(models.Book.objects.all().reverse())

   # # 9、distinct():去重(只要结果里面有重复的)

   print(models.Book.objects.filter(title="PHP全栈开发").values("price").distinct())

   # 结果:<QuerySet [{'price': Decimal('100.00')}]>

   # # 10、count():查看有几条记录

   print(models.Book.objects.filter(title="PHP全栈开发").count())

   # # 11、first():返回第一条记录

   print(models.Book.objects.all().first())

   # 12、last():返回最后一条记录

   print(models.Book.objects.all().last())

   # 13、esits:查看有没有记录, 如果有返回True,没有返回False

   #   并不需要判断所有的数据

   if models.Book.objects.all().exists():

       print('ok')

查询表记录—模糊查询

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

ret=models.Book.objects.filter(price__gt=50, price__lt=150) # 查询价格在50到150之间的书籍信息

    print(ret)

    ret = models.Book.objects.filter(price__in=[100, 250, 300])   # 查询价格等于100,250,300的数据

    print(ret)

    ret = models.Book.objects.filter(title__startswith='p')     # 以“p”开头的书名

    print(ret)

    ret = models.Book.objects.filter(title__contains='y')   # 包括“y”的书名

    print(ret)

    ret = models.Book.objects.filter(title__icontains='p')  # 不区分大小写

    print(ret)

    ret = models.Book.objects.filter(publishData__year=2018, publishData__month=8)  # 出版年月为2018年8月的

    print(ret)

  

三、修改表记录:

1

2

ret = models.Book.objects.filter(title="PHP全栈开发").update(title="测试开发全栈开发")

    print(ret)

  

四、删除表记录

删除方法就是delete(),它运行时立即删除对象不返回任何值。

1

2

3

4

ret = models.Book.objects.filter(id="73").delete()

   print(ret)

    

   ret = models.Book.objects.filte

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/760002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

综合系列之大四学生找工作的自荐信模板推荐

模板一 尊敬的招聘负责人&#xff1a; 您好&#xff01;我是一名即将毕业的大四学生&#xff0c;非常荣幸有机会向您自荐&#xff0c;希望能有机会加入贵公司。 在学校期间&#xff0c;我始终保持积极进取的态度&#xff0c;不断努力学习专业知识&#xff0c;提升自己的综合…

C语言例3-31:位移位运算的例子

1. 位移位运算符 左移 <<右移 >>运算对象只能是整型或字符型数据参与位移位运算时&#xff0c;运算对象以二进制形式进行相应的按位运算。 2. 运算规则 移位时&#xff0c;移出的位数全部丢弃&#xff0c;移出的空位补入的数与左移还是右移有关。若是左移&#…

“贷”动“新质生产力”?各大银行出手了!(附产业图谱下载)

官.网地址&#xff1a;合合TextIn - 合合信息旗下OCR云服务产品 自去年9月首次提出以来&#xff0c;新质生产力的重要性不断得到强化&#xff0c;今年两会期间&#xff0c;更是被写入了政府工作报告并被列为了十大任务之首。 伴随新质生产力培育元年拉开序幕&#xff0c;金融…

HarmonyOS应用开发者高级认证流程及其题库

一、HarmonyOS应用开发者高级认证 掌握鸿蒙的核心概念和端云一体化开发、数据、网络、媒体、并发、分布式、多设备协同等关键技术能力,具备独立设计和开发鸿蒙应用能力。认证流程如下: 1.1 课程学习 通过在线课程学习,掌握HarmonyOS高级知识。 1.2 考试说明 1、考试需实…

深度学习 精选笔记(12)卷积神经网络-理论基础1

学习参考&#xff1a; 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增)&#xff0c;以达到集多方教程的精华于一文的目的。 ③非常推荐上面&#xff08;学习参考&#x…

SpringBoot面试题及答案

1、spring-boot-starter-parent 有什么用 &#xff1f; spring-boot-starter-parent 是一个特殊的 starter&#xff0c;它用于提供 Spring Boot 应用的默认配置。当你在项目中以父项目的形式引入 spring-boot-starter-parent 时&#xff0c;它将带来以下好处&#xff1a; 预定…

Docker启动失败,报错Is the docker daemon running? Is the docker daemon running?

问题&#xff1a; docker没有正常启动 解决方法&#xff1a; systemctl daemon-reload systemctl restart docker.service

【MySql实战--日志系统:一条SQL更新语句是如何执行的?】

前面我们系统了解了一个查询语句的执行流程&#xff0c;并介绍了执行过程中涉及的处理模块。相信你还记得&#xff0c;一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块&#xff0c;最后到达存储引擎。 那么&#xff0c;一条更新语句的执行流程又是怎…

Git分支详解:分支创建、合并、删除等操作

Git是一种强大的分布式版本控制系统&#xff0c;它的分支功能使得团队协作和代码管理变得更加灵活和高效。分支可以让开发人员在不影响主线开发的情况下进行并行开发和实验性工作。本篇博客将详解Git分支的创建、合并、删除等操作&#xff0c;帮助你更好地理解和使用Git的分支功…

LeetCode-60题:排列序列解法一(原创)

【题目描述】 给出集合 [1,2,3,...,n]&#xff0c;其所有元素共有 n! 种排列。按大小顺序列出所有排列情况&#xff0c;并一一标记&#xff0c;当 n 3 时, 所有排列如下&#xff1a;"123" 、"132" 、"213" 、"231"、"312"、…

ppt插件构思

功能&#xff1a; 1. 编辑代码 2. 代码运行 3. 代码检查 4. 代码格式化 5. 运行简单的可视化、游戏化、交互式 这是一个针对PPT&#xff08;Microsoft PowerPoint&#xff09;的插件概念描述&#xff0c;该插件旨在提升PPT在演示编程相关内容时的功能丰富度。以下是这个插…

用户需求沟通的4大常见障碍及解决方案

有效的用户需求沟通对于软件项目的成功至关重要。它可以帮助项目团队更好地理解用户需求&#xff0c;从而设计出更符合用户期望的产品&#xff0c;有助于建立和维护良好的客户关系&#xff0c;提高客户满意度。 因此&#xff0c;我们需重视用户需求沟通中的常见障碍&#xff0c…

低功率接地故障断路器(GFI)控制芯片D4147简介

应用领域 D4147主要用于三线制GFCI输出接口、GFCI芯片断路器、便携式GFCI线路等领域的产品&#xff0c;侦测并防护火线对地故障和零线对负载短路故障。 功能介绍 D4147 为低功率接地故障断路器&#xff08;GFI&#xff09;控制器芯片&#xff0c;用于检测危险的接地故障电流路径…

MapStruct使用

参考博客 <!-- MapStruct核心依赖 --><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId><version>1.4.2.Final</version></dependency><!-- MapStruct注解处理器&#xff0c;用于在编…

Java三要素实名认证接口代码调用示例-身份证实名认证接口厂家

网络实名制是指用户在网络上进行网络活动时对其提供的身份信息的真伪进行核验&#xff0c;网络管理的有效手段&#xff0c;有助于网络管理部门更有效地管理网络&#xff0c;防止不法分子利用网络进行违法活动&#xff0c;有助于防止虚假信息的传播&#xff0c;维护网络安全和公…

Redis的脑裂问题

Redis 脑裂&#xff08;Split-brain&#xff09;问题是指在分布式系统中&#xff0c;特别是基于主从复制和哨兵&#xff08;Sentinel&#xff09;模式的Redis集群中&#xff0c;由于网络分区&#xff08;network partition&#xff09;而导致部分节点组成了独立可用的服务&…

【原创】JDK17获取CPU占用率、内存占用率以及堆内存使用情况

前言 我之前一篇文章&#xff1a; 【原创】Java获取CPU占用率、内存占用率最简单的方式_java获取cpu使用率-CSDN博客 这篇文章虽然简单&#xff0c;但是只能针对JDK8&#xff0c;换成现在模块化的JDK后&#xff0c;OperatingSystemMXBean类就无法反射获取其中的信息了&#…

网络QUIC测试方法。

1、通过CURL3命令行接口&#xff0c;访问H3/泛播测试 curl3 --http3 --verbose https://h3.speed.cloudflare.com/__down?bytes100000000000 >> /dev/null 2、访问H3/泛播测试网站&#xff0c;按F12打开开发人员控制台&#xff0c;切换到网络这一项&#xff0c;把协议显…

蓝桥杯-数的潜能-求快速幂

题目 思路 --将数字拆分成加和的形式&#xff0c;并且相乘。数据范围到10的18次方&#xff0c;暴力肯定不行&#xff0c;要找规律。拆分成1肯定不行&#xff0c;对乘法没有贡献&#xff0c;2可以&#xff0c;3也可以&#xff0c;4、5、6等大于3的数字都可以用2和3来表示。所以…

【python】flask服务端响应与重定向处理

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…