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

Django查询集-按不在列表中的方式过滤

Django查询集是Django框架中用于数据库查询的一种高级抽象概念。它提供了一种便捷的方式来过滤、排序和操作数据库中的数据。

在Django查询集中,可以使用exclude()方法来按不在列表中的方式进行过滤。exclude()方法接受一个参数,该参数可以是一个Q对象或关键字参数。下面是一个示例:

代码语言:txt
复制
from django.db.models import Q

# 假设有一个模型类叫做Book,其中有一个字段叫做title
# 我们要过滤掉title不在列表['Python', 'Java', 'C++']中的书籍

excluded_titles = ['Python', 'Java', 'C++']
books = Book.objects.exclude(title__in=excluded_titles)

# books即为过滤后的查询集,其中包含了title不在列表中的书籍

在上面的示例中,我们使用exclude()方法来过滤掉title字段不在excluded_titles列表中的书籍。通过双下划线语法,我们可以指定要过滤的字段(title),并使用__in操作符来指定过滤条件。

Django查询集的优势在于它提供了一种简洁而强大的方式来处理数据库查询。它支持链式调用,可以方便地进行多个过滤条件的组合。此外,Django查询集还支持各种数据库操作,如排序、聚合、分页等。

对于这个问题,腾讯云提供了云数据库 TencentDB for MySQL 和云数据库 TencentDB for PostgreSQL,可以作为后端数据库存储解决方案。您可以通过以下链接了解更多关于腾讯云数据库的信息:

同时,腾讯云还提供了云服务器 Tencent Cloud Virtual Machine (CVM) 来支持服务器运维需求,您可以通过以下链接了解更多关于腾讯云服务器的信息:

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

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

相关·内容

Django 模型查询2.3

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

2.3K20

django 1.8 官方文档翻译: 2-5-1 管理器 (初稿)

django应用每个模型至少拥有一个 管理器。 管理器类工作方式在 执行查询文档阐述,而这篇文档涉及了自定义管理器行为模型选项。...你有两个原因可能会自己定义管理器:向器类添加额外方法,或者修改管理器最初返回查询。...例如,下面这个自定义 管理器提供了一个 with_counts() 方法,它返回所有 OpinionPoll 对象列表,而且列表每个对象都多了一个名为 num_responses属性,这个属性保存一个聚合查询...定义在抽象基类管理器总是被子类继续,是 Python 命名解析顺序解析(首先是子类命名覆盖所有的,然后是第一个父类,以此类推)。...那么,你不在直接在子类添加新管理器,否则就会覆盖掉默认管理器,而且你必须对派生自这个基类所有子类都显示指定管理器。

95420

Django QuerySet查询原理及代码实例

一 概念 DjangoORM存在查询概念。 查询,也称查询结果、QuerySet,表示从数据库获取对象集合。...当调用如下过滤器方法时,Django会返回查询(而不是简单列表): all():返回所有数据。 filter():返回满足条件数据。 exclude():返回满足条件之外数据。...对查询可以再次调用过滤器进行过滤,也就意味着查询可以含有零个、一个或多个过滤器。过滤器基于所给参数限制查询结果。...(book.btitle) 2)缓存   使用同一个查询,第一次使用时会发生数据库查询,然后Django会把结果缓存下来,再次使用这个查询时会使用缓存数据,减少了数据库查询次数。   ...查询不会永远缓存它们结果。当只对查询部分进行求值时会检查缓存, 如果这个部分不在缓存,那么接下来查询返回记录都将不会被缓存。所以,这意味着使用切片或索引来限制查询将不会填充缓存。

1.3K21

Django使用】md文档10大模块第5期:Django数据库增删改查和Django视图

它还强调快速开发和DRY(DoNotRepeatYourself)原则Django全套笔记直接地址: 请移步这里 共 4 章,47 子模块数据库操作-查询查询QuerySet1 概念DjangoORM...存在查询概念。...查询,也称查询结果、QuerySet,表示从数据库对象集合。当调用如下过滤器方法时,Django会返回查询(而不是简单列表):all():返回所有数据。...过滤器基于所给参数限制查询结果。从SQL角度讲,查询与select语句等价,过滤器像where、limit、order by子句。...第一次使用时会发生数据库查询,然后Django会把结果缓存下来,再次使用这个查询时会使用缓存数据,减少了数据库查询次数。

22310

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

第一种方法是从整个查询生成统计值。比如,你想要计算所有在售书平均价钱。Django查询语法提供了一种方式描述所有图书集合。...查询参考中列出了聚合函数列表。 aggregate()是QuerySet 一个终止子句,意思是说,它返回一个包含一些键值对字典。键名称是聚合值标识符,值是计算出来聚合值。...但是第一个查询注解包含其该出版商发行所有图书总数;而第二个查询注解只包含出版过好书出版商所发行图书总数。 在第一个查询,注解在过滤器之前,所以过滤器对注解没有影响。...在第二个查询过滤器在注解之前,所以,在计算注解值时,过滤器就限制了参与运算对象范围。 order_by() 注解可以用来做为排序项。...')) 在这个例子,作者会名称分组,所以你只能得到某个唯一作者分组注解值。

1.6K30

django框架菜鸟教程_django框架菜鸟教程

,即假使客户端进行POST方式请求,依然可以通过request.GET获取请求查询字符串数据。...模型类.DoesNotExist 异常 all 多个结果 count 查询结果数量 过滤查询 filter 过滤多个结果 exclude 排除 get 过滤单一结果 过滤条件表达语法 属性名称...objects.filter().delete() 查询 QuerySet 1、概念:从数据库获取对象集合 过滤器方法: all() filter() exclude() order_by() exists...():判断查询集中是否有数据,有返回Ture,无返回False 2、特性 惰性执行:创建查询时候不会调用数据库,调用数据时候访问,迭代、序列化、if合用 缓存 3、限制查询查询进行下标或切片操作...,切片后返回新查询,不会立即执行 管理器Manageer 1、自定义管理器 修改原始查询,重写all()方法 booktest/models.py文件 #图书管理器 class BookInfoManager

3K40

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

通常来说,你期望能自定义表单外观和工作方式。你可以在注册模型时将这些设置告诉 Django。...当我们拥有数十个字段表单,我们肯定会期望将表单分为几个字段,这样会更清晰一点: from django.contrib import admin from .models import Question...默认提供 3 个足够选项字段。” 3 自定义后台更改列表 3.1 显示列表 默认情况下,Django 显示每个对象 str() 返回值。但有时如果我们能够显示单个字段,它会更有帮助。...为此,使用 list_display 后台选项,它是一个包含要显示字段名元组,在更改列表以列形式展示这个对象: class QuestionAdmin(admin.ModelAdmin):...你可以使用任意多字段——由于后台使用 LIKE 来查询数据,将待搜索字段数限制为一个不会出问题大小,会便于数据库进行查询操作。 END ----

98020

python测试开发django-169.过滤django-filter 入门使用

前言 在管理后台查询时候,经常有需要查询包含某个内容,按时间段查询,或者商品价格大于多少,小于多少各种查询条件。 django-filter 过滤器专门解决这种查询问题。...python:3.5、3.6、3.7、3.8 django:2.2、3.0、3.1 DRF : 3.10+ 简单入门 Django-filter 提供了一种基于用户提供参数过滤查询简单方法。...假设我们有一个Product模型,我们想让我们用户过滤他们在列表页面上看到产品。...要按request对象过滤查询,只需覆盖该 FilterSet.qs属性。...类fields序列项目Meta可能包括“关系路径”,使用 Django __语法过滤相关模型上字段: class ProductFilter(django_filters.FilterSet)

2.2K20

第 9 篇:实现分类、标签、归档日期接口

具体来说,获取博客文章发表时间归档列表方法是调用查询(QuerySet) dates 方法,提取记录日期。...对于这样场景,我们可以在请求 API 时加上查询参数,django-rest-framework 解析查询参数,然后从全部文章列表过滤查询所指定文章列表再返回。...既然要使用它,当然是先安装它(已安装跳过):pipenv install django-filter 接着我们来配置 PostViewSet,为其设置用于过滤返回结果一些属性,代码如下: from...定义过滤规则来过滤查询结果。...category,tags 两个过滤字段因为是 Post 模型定义字段,因此 django-filter 可以自动推断其过滤规则,只需要在 Meta.fields 声明即可。

2.6K30

Django 模板4.1

,一个模板可以供多个视图使用 模板包含 HTML静态部分 动态插入内容部分 Django模板语言,简写DTL,定义在django.template包 由startproject命令生成settings.py...定义关于模板值: DIRS定义了一个目录列表,模板引擎列表顺序搜索这些目录以查找模板源文件 APP_DIRS告诉模板引擎是否应该在每个已安装应用查找模板 常用方式:在项目的根目录下创建templates...,会按照下列顺序查询: 字典查询,例如:foo["bar"] 属性或方法查询,例如:foo.bar 数字索引查询,例如:foo[bar] 如果变量不存在, 模版系统将插入'' (空字符串) 在模板调用方法时不能传递参数...在模板调用对象方法 在models.py定义类HeroInfo from django.db import models class HeroInfo(models.Model): ....,有效或者无效都可以 {# { % if foo % }bar{ % else % } #} 使用comment标签注释模版多行内容 示例 查询所有英雄信息显示出来,要求奇数行显示为红色,偶数行显示为蓝色

1.4K40

django 1.8 官方文档翻译: 2-2-1 执行查询

python对象,django使用一种直观方式:一个模型类代表数据库一个表,一个模型实例代表数据库表一条特定记录。...你可以一直添加过滤器,在这个过程Django 不会执行任何数据库查询,除非 QuerySet 被执行....举个例子,使用下面这个这个查询返回前十个对象偶数次对象,就会运行数据库查询: >>> Entry.objects.all()[:10:2] 要检索单独对象,而非列表 (比如 SELECT foo...针对这两种情况,Django 用一种很方便方式来使用 filter() 和 exclude()。对于包含在同一个 filter() 筛选条件,查询要同时满足所有筛选条件。...建议方式是在你 model 自定义方法或是自定义 model manager 方法来运行查询。虽然 Django 不要求数据操作必须在 model 层执行。

4.3K20

django模型

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

3.1K20

Django之Model操作数据库详解

Django ORM框架功能: 建立模型类和表之间对应关系,允许我们通过面向对象方式来操作数据库。 根据设计模型类生成数据库表格。 通过方便配置就可以进行数据库切换。...filter返回是一个QuerySet对象,filter里可以设定多个过滤条件 4、查 查询数据使用QuerySet API。...根据日期获取查询 datetimes() 根据时间获取查询 none() 创建空查询 union() 并 intersection...Q查询 F查询专门取对象某列值操作,F作用:用来批量修改数据 #导入F from django.db.models import F #把table1表num列每一个值在基础上加10...__gt=4 九、实例 1、DjangoORM如何判断查询结果是否为空,判断djangoorm为空 result= Booking.objects.filter() 方法一 .exists()

7K10

Admin站点

列表页中点击"增加"可以进入增加页,Django会根据模型类不同,生成不同表单控件,提示填写表单内容后点击"保存",完成数据创建,创建成功后返回列表页。 ?...点击执行后进入确认页面,删除后回来列表页面。 ? 定义与使用Admin管理类 Django提供Admin站点展示效果可以通过自定义ModelAdmin类来进行控制。...右侧栏过滤器 属性如下,只能接收字段,会将对应字段值列出来,用于快速过滤。一般用于有重复值字段。...list_filter = ['hbook', 'hgender'] 2)在浏览器刷新效果如下图: ? g. 搜索框 属性如下,用于对指定字段值进行搜索,支持模糊查询。...关联对象 在一对多关系,可以在一端编辑页面编辑多端对象,嵌入多端对象方式包括表格、块两种。 类型InlineModelAdmin:表示在模型编辑页面嵌入关联模型编辑。

2.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()[0:2] 管理器manager 自定义manager 注意:一旦为模型类指明自定义过滤器后,Django不再生成默认管理对象objects。

1K40
领券