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

如何在Django查询集过滤中做不相等的操作?

在Django查询集过滤中,要做不相等的操作,可以使用exclude()方法。exclude()方法允许您过滤掉满足特定条件的对象。

例如,如果您有一个名为Person的模型,其中有一个名为age的字段,您可以使用exclude()方法过滤掉年龄大于等于30岁的人:

代码语言:python
代码运行次数:0
复制
old_people = Person.objects.exclude(age__lt=30)

在这个例子中,age__lt表示age字段小于30。exclude()方法的工作原理是返回所有不匹配给定条件的对象。

请注意,exclude()方法的用法与filter()方法非常相似,但它们的作用相反。在使用exclude()方法时,请确保使用正确的条件,以避免意外地过滤掉所有对象。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PHPPDO操作学习(四)查询结构

PHPPDO操作学习(四)查询结构 关于 PDO 最后一篇文章,我们就以查询结果操作为结束。在数据库操作查询往往占比例非常高。...在日常开发,大部分业务都是读多写少型业务,所以掌握好查询相关操作是我们学习重要内容。...在使用预处理语句情况下,我们使用 execute() 执行之后,查询结果就会保存在 PDOStatement 对象。...对于数据操作就转移到了 PHP 对象,所以我们需要 PDOStatement 一些方法来获得结果内容。 fetch() 方法 通过 fetch() 方法,获得查询结果下一行。...获取全部数据 从代码和定义可以看出,fetch() 方法是获取当前数据下一行数据,就像数据库游标操作一样。

1.1K20
  • Django数据库相关操作

    QuerySet 1 概念 DjangoORM存在查询概念。...查询,也称查询结果、QuerySet,表示从数据库获取对象集合。 当调用如下过滤器方法时,Django会返回查询(而不是简单列表): all():返回所有数据。...对查询可以再次调用过滤器进行过滤 BookInfo.objects.filter(bread__gt=30).order_by('bpub_date') 也就意味着查询可以含有零个、一个或多个过滤器...过滤器基于所给参数限制查询结果。 从SQL角度讲,查询与select语句等价,过滤器像where、limit、order by子句。...,第一次使用时会发生数据库查询,然后Django会把结果缓存下来,再次使用这个查询时会使用缓存数据,减少了数据库查询次数。

    2.2K50

    【愚公系列】2022年01月 Python教学课程 42-Django框架之ORM查询详解

    ORM存在查询概念。...查询,也称查询结果、QuerySet,表示从数据库获取对象集合。 当调用如下过滤器方法时,Django会返回查询(而不是简单列表): all():返回所有数据。...对查询可以再次调用过滤器进行过滤 >>> books = BookInfo.objects.filter(readcount__gt=30).order_by('pub_date') >>> books...过滤器基于所给参数限制查询结果。 从SQL角度讲,查询与select语句等价,过滤器像where、limit、order by子句。...使用同一个查询,第一次使用时会发生数据库查询,然后Django会把结果缓存下来,再次使用这个查询时会使用缓存数据,减少了数据库查询次数。

    1.9K40

    django模型

    过滤器基于所给参数限制查询结果。 从SQL 角度,查询和SELECT 语句等 价,过滤器是像WHERE 和LIMIT 一样限制子句。 你可以从模型管理器那里取得查询。...通过模型类来直接访问它, 管理器只可以通过模型类访问,而不可以通过模型实例访问,目的是为了强制区分“表 级别”操作和“记录级别”操作。 对于一个模型来说,管理器是查询主要来源。...查询参数(上面函数定义**kwargs)需要满足特定格式,下面字段查询一节中会提 到 使用过滤器获取特定对象示例 要获取年份为2006所有文章查询,可以使用filter()方法: Entry.objects.filter...你可以将过滤器保持一整 天,直到查询 需要求值时,Django 才会真正运行这个查询。...如果您在某些情 况下使用查询结果,当您最初获取数据时不知道是否需要这些特定字段,可以告诉 Django不要从数据库检索它们。

    3.1K20

    查询 QuerySet和管理器Mana

    查询 QuerySet 查询,也称查询结果、QuerySet,表示从数据库获取对象集合。...当调用如下过滤器方法时,Django会返回查询(而不是简单列表): all():返回所有数据。 filter():返回满足条件数据。 exclude():返回满足条件之外数据。...对查询可以再次调用过滤器进行过滤 BookInfo.objects.filter(bread__gt=30).order_by('bpub_date') 从SQL角度讲,查询与select语句等价...() 继续执行遍历迭代操作后,才真正进行了数据库查询 for book in qs: print(book.btitle) 2>缓存 使用同一个查询,第一次使用时会发生数据库查询,然后Django...qs=BookInfo.objects.all() [book.id for book in qs] [book.id for book in qs] 3>限制查询 可以对查询进行取下标或切片操作

    1K40

    Django模型model

    : 根据对象类型生成数据库表结构 将对象、列表操作,转换为sql语句 将sql查询结果转换为对象、列表 Django模型包含存储数据字段和约束,对应着数据库唯一表 ORM.png 2....Django模型进行数据库查询操作接口,Django应用每个模型都拥有至少一个管理器 自定义管理器类主要用于两种情况 向管理器类添加额外方法创建管理器对象保存数据到数据库 class TestInfoManager...模型类查询 查询表示从数据库获取对象集合 查询可以含有零个、一个或多个过滤过滤器基于所给参数限制查询结果 从Sql角度,查询和select语句等价,过滤器像where和limit子句...接下来主要讨论如下知识点 查询 字段查询:比较运算符,F对象,Q对象(1)模型类查询集合 在管理器上调用过滤器方法会返回查询 查询经过过滤器筛选后返回新查询,因此可以写成链式过滤 惰性执行:...创建查询不会带来任何数据库访问,直到调用数据时,才会访问数据库 何时对查询求值:迭代,序列化,与if合用 返回查询方法,称为过滤器,管理器对象方法有all()、filter()、exclude

    13310

    Django 模型查询2.3

    简介 查询表示从数据库获取对象集合 查询可以含有零个、一个或多个过滤过滤器基于所给参数限制查询结果 从Sql角度,查询和select语句等价,过滤器像where和limit子句 接下来主要讨论如下知识点...查询 字段查询:比较运算符,F对象,Q对象 查询 在管理器上调用过滤器方法会返回查询 查询经过过滤器筛选后返回新查询,因此可以写成链式过滤 惰性执行:创建查询不会带来任何数据库访问...,[0:1].get()引发DoesNotExist异常 查询缓存 每个查询都包含一个缓存来最小化对数据库访问 在新建查询集中,缓存为空,首次对查询求值时,会发生数据库查询django会将查询结果存在查询缓存...,但是如果这部分不在缓存,那么接下来查询返回记录将不会被缓存,这意味着使用索引来限制查询将不会填充缓存,如果这部分数据已经被缓存,则直接使用缓存数据 字段查询 实现where子名,作为方法filter...,会合并为And进行 需要进行or查询,使用Q()对象 Q对象(django.db.models.Q)用于封装一组关键字参数,这些关键字参数与“比较运算符”相同 from django.db.models

    2.3K20

    Django—模型

    4.查询 查询表示从数据库获取对象集合,在管理器上调用某些过滤器方法会返回查询查询可以含有零个、一个或多个过滤器。...过滤器基于所给参数限制查询结果,从Sql角度,查询和select语句等价,过滤器像where和limit子句。 返回查询过滤器如下: all():返回所有数据。...在新建查询集中,缓存为空,首次对查询求值时,会发生数据库查询django会将查询结果存在查询缓存,并返回请求结果,接下来对查询求值将重用缓存结果。...限制查询 可以对查询进行取下标或切片操作,等同于sqllimit和offset子句。   注意:不支持负数索引。 对查询进行切片后返回一个新查询,不会立即执行查询。...自定义管理器类主要用于两种情况: 1.修改原始查询,重写all()方法 2.向管理器类添加额外方法,向数据库插入数据。 1.修改原始查询,重写all()方法。

    6.1K21

    Django学习笔记之Django ORM Aggregation聚合详解

    (average_rating=Avg('book__rating')) 聚合和其它查询操作Aggregations and other QuerySet clauses filter() and...但是第一个查询注解包含其该出版商发行所有图书总数;而第二个查询注解只包含出版过好书出版商所发行好书(评分大于3分)总数。在第一个查询,注解在过滤器之前,所以过滤器对注解没有影响。...在第二个查询过滤器在注解之前,所以,在计算注解值时,过滤器就限制了参与运算对象范围 order_by() 可以根据聚合值进行排序 >>> Book.objects.annotate(num_authors...=Count('authors')).order_by('num_authors') values() 通常,注解annotate是添加到每一个对象上,一个执行了注解操作查询 QuerySet 所返回结果...但是上面那样是行不通。这是因为默认排序项name也是一个分组项,所以这个查询会根据非重复(data,name)进行分组,而这并不是你本来想要结果。

    1.1K20

    django 1.8 官方文档翻译: 3-4-2 内建显示视图

    DetailView通用视图提供了一个publisher对象给context,但是我们如何在模板添加附加信息呢?...然而,通过使用queryset来定义一个过滤对象列表,你可以更加详细 了解哪些对象将会被显示视图中(参见执行查询来获取更多关于查询对象更对信息,以及参见 基于类视图参考来获取全部 细节)。...Book.objects.filter(publisher__name='Acme Publishing') template_name = 'books/acme_list.html' 注意,除了经过过滤之后查询...详见基于类视图参考。 动态过滤 另一个普遍需求是在给定列表页面根据URL关键字来过滤对象。...pk - 这个名字是DetailView用来查找主键默认名称,其中主键用于过滤查询

    1.4K40

    django模型类管理器——数据库操作封装详解

    管理器是Django模型进行数据库操作接口,Django应用每个模型都拥有至少一个管理器。Django支持自定义管理器类,继承自models.Manager。...自定义管理器类主要用于两种情况: 1.修改原始查询,重写all()方法 2.向管理器类添加额外方法,向数据库插入数据。 1.修改原始查询,重写all()方法。...books = BookInfoManager() 2.在管理器类定义创建对象方法 当创建模型类对象时,django不会对数据库进行读写操作,调用save()方法才与数据库交互,进行insert或update...操作,将数据保存到数据库。...,重新打开项目的shell,进行查询之后就获取到了4条数据(过滤掉了一条) ?

    1.4K10

    Django相关知识点回顾

    从失败汲取教训,寻找失败原因,为成功铺垫。你比别人承受更多,你最后获得成果越丰硕。不要沮丧,不要畏惧,从第三者角度看自己,你都会瞧不起自己。...|过滤器(参数...)}} b) Django模板过滤使用 {{ 模板变量|过滤器:参数 }} 注意:Django过滤器 :之后只能接收一个参数 13.3步骤 13.3.1数据库连接配置 flask...) all,filter,exclude,order_by这4个函数返回查询对象 特点 可以像list一样进行操作,可以遍历、取下标、进行切片,切片时下标不允许为负数。...查询结果缓存 使用同一个查询时,只有在第一次使用查询时会进行数据库查询操作,然后Django框架就会把查询结果存起来,下一次再使用这个查询时,使用Django之前存储结果。...团队开发注意事项 浅谈密码加密 Django框架英文单词 Django数据库相关操作 DRF框架英文单词 重点内容回顾-DRF

    10K51

    Python全栈开发之Django基础

    No.1 MVC&MTV MVC M全拼为Model,主要封装对数据库层访问,对数据库数据进行增、删、改、查操作 V全拼为View,用于封装结果,生成页面展示html内容 C全拼为Controller...() 查询 查询表示从数据库查询对象集合 返回查询过滤器 all():返回所有数据 filter(): 返回满足条件数据 exclude(): 返回不满足条件数据 order_by()...: 对结果排序 返回单个值过滤器 get(): 返回单个满足条件对象,如果未找到会抛出DoesNotExist异常,如果返回多条抛出MultipleObjectReturnned异常 count(...): 返回当前查询结果总条数 aggregate(): 聚合,返回一个字典 判断一个查询集中是否有数据 两个特性 惰性 创建查询不会访问数据库,直到调用数据时,才会访问数据库 缓存 使用同一个结果...,第一次使用会触发查询数据库,然后将结果缓存下载,再次使用直接调用缓存 限制结果 可以对结果进行切片操作,等同于数据库分页操作,但是不支持负数 list = BookInfo.objects.all

    3.7K20

    Django学习笔记 1.7 自定义 admin 站点

    作者: iotisan 前言 这节笔记将更加深入地处理 admin 站点,包括修改表单更加直观呈现模型数据,快速添加关联对象,以及后台涉及列表展示、过滤器、搜索框等操作。...当我们拥有数十个字段表单,我们肯定会期望将表单分为几个字段,这样会更清晰一点: from django.contrib import admin from .models import Question...为此,使用 list_display 后台选项,它是一个包含要显示字段名元组,在更改列表页以列形式展示这个对象: class QuestionAdmin(admin.ModelAdmin):...将以下代码添加至 QuestionAdmin: list_filter = ['pub_date'] 这样添加了一个“过滤器”侧边栏,允许人们以 pub_date 字段来过滤列表: 3.3 搜索框 让我们再扩充些功能...你可以使用任意多字段——由于后台使用 LIKE 来查询数据,将待搜索字段数限制为一个不会出问题大小,会便于数据库进行查询操作。 END ----

    99120

    Web | Django 与数据库交互,你需要知道 9 个技巧

    2.0 ,添加了聚合函数过滤器参数,使其更容易: from django.contrib.auth.models import User from django.db.models import...查询结果变为具名元组(QuerySet results as namedtuples) 我是一个 namedtuples 粉丝,同时也是 Django 2.0 ORM 粉丝。...这意味着,当用户执行长时间运行操作时,工作进程会被阻塞,完成之前,其他人无法使用它。 应该没有人真正在生产中只用一个工作进程来运行 Django,但是我们仍然希望确保一个查询不会浪费太多资源太久。...在大多数 Django 应用程序,大部分时间都花在等待数据库查询上了。所以,在 SQL 查询上设置超时是一个很好的开始。...(作者好萌) 我们有一些晚上运行 ETL 进程,主要是在产品和用户表上维护。这些 ETL 操作会更新字段然后插入表,这样它们也会获得了表锁。 那么问题是什么?

    2.8K40

    django 1.8 官方文档翻译: 2-5-4 聚合 (初稿)

    第一种方法是从整个查询生成统计值。比如,你想要计算所有在售书平均价钱。Django查询语法提供了一种方式描述所有图书集合。...连接和聚合 至此,我们已经了解了作用于单种模型实例聚合操作, 但是有时,你也想对所查询对象关联对象进行聚合。...但是第一个查询注解包含其该出版商发行所有图书总数;而第二个查询注解只包含出版过好书出版商所发行图书总数。 在第一个查询,注解在过滤器之前,所以过滤器对注解没有影响。...在第二个查询过滤器在注解之前,所以,在计算注解值时,过滤器就限制了参与运算对象范围。 order_by() 注解可以用来做为排序项。...但是上面那样是行不通。这是因为默认排序项 name也是一个分组项,所以这个查询会根据非重复 (data, name) 进行分组,而这并不是你本来想要结果。

    1.6K30
    领券