首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django 模型查询2.3

如果未找到会引发"模型类.DoesNotExist"异常 如果多条被返回,会引发"模型类.MultipleObjectsReturned"异常 count():返回当前查询的总条数 first...():返回第一个对象 last():返回最后一个对象 exists():判断查询集中是否有数据,如果有则返回True 限制查询集 查询集返回列表,可以使用下标的方式进行限制,等同于sql中的limit和...,[0:1].get()引发DoesNotExist异常 查询集的缓存 每个查询集都包含一个缓存来最小化对数据库的访问 在新建的查询集中,缓存为空,首次对查询集求值时,会发生数据库查询,django会将查询的结果存在查询集的缓存中...')) django支持对F()对象使用算数运算 list.filter(bread__gte=F('bcommet') * 2) F()对象中还可以写作“模型类__列名”进行关联查询 list.filter...,会合并为And进行 需要进行or查询,使用Q()对象 Q对象(django.db.models.Q)用于封装一组关键字参数,这些关键字参数与“比较运算符”中的相同 from django.db.models

2.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何在Django中使用单行查询来获取关联模型的数据

    在 Django 中,你可以使用单行查询来获取关联模型的数据。...这通常涉及使用查询集的 select_related 或 prefetch_related 方法,这两个方法允许你在一次数据库查询中获取关联模型的数据,而不是分开的多个查询。...下面是一些示例:1、问题背景在 Django 中,我们经常需要查询关联模型的数据。传统的方法是使用外键关系来获取关联模型的数据,这需要进行两次数据库查询。...2.3 代码例子以下是一个完整的代码例子,演示如何使用 select_related() 和 prefetch_related() 来获取关联模型的数据:from django.db.models import...你可以根据自己的需求选择合适的方法。使用这些方法之一,我们可以在单行代码中获取关联模型的数据。这些方法可以帮助你优化数据库查询并减少不必要的查询次数,提高 Django 应用程序的性能。

    9110

    Django 2.1.7 模型 - 条件查询、模糊查询、空查询、比较查询、范围查询、日期查询

    上一篇Django 2.1.7 模型 - MVT模型增删功能讲述了关于MVT模型中列表的增加数据以及删除数据的功能,在数据返回的过程中,也有部分关于模型之间关联查询的数据。...本篇章将着重讲述模型之间的关联查询。...属性名称__比较运算符=值 看完上面几句话,肯定是似懂非懂的,那么我们来进入django的交互模式,引入数据模型类来查询一下看看。...: 那么下面使用django的模型查询看看,如下: In [6]: serverinfo = ServerInfo.objects.filter( id__exact = 1 ) In [7]: for...`server_hostname` LIKE BINARY '%测试%' LIMIT 21 可以看到LIKE BINARY '%测试%' 作为模糊匹配的条件,但是前后都写%的话,查询性能肯定不高,那么如何设置前后的

    10.8K20

    python 的列表遍历删除

    python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如 l = [1,2,3,4] for i in l:     if i !...= 4: l.remove(i) print l 这几句话本来意图是想清空列表l,只留元素4,但是实际跑起来并不是那个结果。...再看下面,利用index来遍历删除列表l l = [1, 2, 3, 4] for i in range(len(l)):     if l[i] == 4:         del l[i] print...l 这样没问题,可以遍历删除,但是列表l如果变为 l = [1,2,3,4,5] 如果还是按照上面的方法,设想一下,range开始的范围是0-4,中间遍历的时候删除了一个元素4,这个时候列表变成了=...[1,2,3,5],这时候就会报错了,提示下标超出了数组的表示,原因就是上面说的遍历的时候删除了元素 所以python的list在遍历的时候删除元素一定要小心 可以使用filter过滤返回新的list

    2.4K30

    Django 2.1.7 模型 - 条件查询、模糊查询、空查询、比较查询、范围查询、日期查询

    上一篇Django 2.1.7 模型 - MVT模型增删功能讲述了关于MVT模型中列表的增加数据以及删除数据的功能,在数据返回的过程中,也有部分关于模型之间关联查询的数据。...本篇章将着重讲述模型之间的关联查询。...” 属性名称__比较运算符=值 看完上面几句话,肯定是似懂非懂的,那么我们来进入django的交互模式,引入数据模型类来查询一下看看。...: 那么下面使用django的模型查询看看,如下: In [6]: serverinfo = ServerInfo.objects.filter( id__exact = 1 ) In [7]: for...`server_hostname` LIKE BINARY '%测试%' LIMIT 21 可以看到LIKE BINARY '%测试%' 作为模糊匹配的条件,但是前后都写%的话,查询性能肯定不高,那么如何设置前后的

    4.1K10

    Django 2.1.7 模型 - 条件查询 F对象 Q对象 聚合查询

    上一篇Django 2.1.7 模型 - 条件查询、模糊查询、空查询、比较查询、范围查询、日期查询讲述了关于Django模型的查询。...但是都是条件与常量的查询,以及单条件查询,那么本篇章来介绍F对象、Q对象、聚合查询等功能。...参考文献 https://docs.djangoproject.com/zh-hans/2.1/topics/db/queries/ F对象 之前的查询都是对象的属性与常量值比较,两个属性怎么比较呢?...语法如下: F(属性名) 使用F对象需要导入库,如下: from django.db.models import F 下面使用模型来查询 shelves_date 的结果,如下...---------+ | 16 | +----------+ 1 row in set (0.00 sec) mysql> 在日常的业务中,经常有统计表数量的情况,那么模型需要怎么写呢?

    1.9K30

    python基础之列表的遍历

    Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下python列表的遍历相关知识。...---- 二、while循环遍历列表   使用while循环遍历列表,首先需要获取列表的长度,将获取的列表长度作为while循环的判断条件。 例:使用while循环遍历列表。...---- 三、for循环遍历列表   使用for循环遍历列表的方式非常简单,只需要将要遍历的列表作为for循环表达式中的序列即可。 例:使用for循环遍历列表。...animal = ['elephant', 'monkey', 'snake', 'tiger'] # 创建列表animal for name in animal: # 将要遍历的列表作为for循环表达式中的序列...---- 四、参考 1、廖雪峰的官网 2、python官网 3、Python编程案例教程 ---- 五、总结   以上就是就是关于python列表的遍历相关知识,可以参考一下,后面会不断更新相关知识,大家一起进步

    1K30

    Django 2.1.7 模型 - 条件查询 F对象 Q对象 聚合查询

    上一篇Django 2.1.7 模型 - 条件查询、模糊查询、空查询、比较查询、范围查询、日期查询讲述了关于Django模型的查询。...但是都是条件与常量的查询,以及单条件查询,那么本篇章来介绍F对象、Q对象、聚合查询等功能。...参考文献 https://docs.djangoproject.com/zh-hans/2.1/topics/db/queries/ F对象 之前的查询都是对象的属性与常量值比较,两个属性怎么比较呢?...语法如下: F(属性名) 使用F对象需要导入库,如下: from django.db.models import F 下面使用模型来查询 shelves_date 的结果...---------+ | 16 | +----------+ 1 row in set (0.00 sec) mysql> 在日常的业务中,经常有统计表数量的情况,那么模型需要怎么写呢

    1.5K30

    django分页器的用法_django分页查询

    大家好,又见面了,我是你们的朋友全栈君。...page=2,代表访问第二页的数据,数据的条数默认为page_size的值 比如http://127.0.0.1:8000/api/cars/?...limit=10代表访问的数据最多展示10条,如果你limit的值>max_limit,那么还是按照max_limit的值来展示数据的条数 比如http://127.0.0.1/api/cars/?...offset=1,这里没有limit参数,所以默认展示3条,offset=1代表从数据库列表中提取数据的时候,是从下标1开始提取,比如提取的数据列表是['test1', 'test2', 'test3'..., 'test4'],本来我们默认提取前3条,但是你加上offset=1后,他是从列表下标为1开始提取,所以最后提取的数据是test2和test3和test4 CursorPagination 游标分页器跟基础分页器用法差不多

    1K20

    Django笔记(九)Django的ORM,查询数据的方法

    目录 建表 需求(1) 需求(2) 总结 value()函数,获取列表 value()函数,获取元组 总结 建表 目前有两个表,一个用户表,一个用户类型表,一个用户对应一类型,但是一个类型下面有好多的用户...外键是在用户表里面 需求(1) 根据查询出来的用户,获取他的用户类型,这个就是多表查询,实现代码是 先查询出用户,直接根据外键字段获取他的用户类型 需求(2) 根据一个用户类型,查询他下面的所有的用户...我们看用户类型表,只有一个字段,没有外键,这个如何实现呢?...其实有一个隐含的字段,写法是 总结 value()函数,获取列表 value()函数,获取元组 总结 以上方法 字典和元组是不可以跨表查询的 以下的写法是可以跨表的

    88620

    列表的循环遍历 - while和for【详细讲解】

    遍历通俗理解就是按顺序依次访问到序列当中的每一个数据,这个操作即叫遍历。比如这里有个需求,需求内容是:依次打印列表中的各个数据。这个遍历的程序用while循环或者for循环就能完成。...一、while循环遍历 需求:依次打印列表中的各个数据。 代码体验: """ 1. 准备表示下标的数据 2....', 'php'] i = 0  # 因为列表下标从0开始 while i 列表长度 # 列表下标不能固定写死不然一直输出同一个数据,和i有关联,随着...i的变化来依次输出列表数据 print(list1[i])     i += 1 执行结果: 图片1.png 二、for循环遍历 需求:依次打印列表中的各个数据。...:通过以上两个循环遍历代码可以很明显的看出for循环遍历的代码要比while的少很多,一般在工作中涉及到遍历序列当中数据的话一般优选于for循环,因为语法比较简易点代码量也少点。

    3.2K40
    领券