1. filter :将满足条件的数据提取出来,返回一个新的 QuerySet 。具体的 filter 可以提供什么条件查询。请见查询操作章节。 2. exclude :排除满足条件的数据,返回一个新的 QuerySet 。示例代码如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 ...
在Django查询集中,可以同时使用distinct和exclude方法来对查询结果进行筛选和去重。 distinct方法:distinct方法用于去除查询结果中的重复记录。它可以应用于查询集中的某个字段,使得返回的结果集中该字段的值唯一。例如,假设有一个名为Book的模型,其中包含一个字段title,我们可以使用distinct方法来获取所有不重复的书名: ...
publisher = models.Publisher.objects.filter(id = 1)[0] #就算查询的结果只有一个 返回的也是一个Queryset 列表 要用索引的方式取出第一个元素 exclude(): publisher = models.Publisher.objects.exclude(id = 1) #排除掉id等于1的数据 values(): publisher = models.Publisher.objects.values("name","type...
查询集,也称查询结果集、QuerySet,表示从数据库中获取的对象集合。 当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表): all():返回所有数据。 filter():返回满足条件的数据。 exclude():返回满足条件之外的数据。 order_by():对结果进行排序。 对查询集可以再次调用过滤器进行过滤,也就意味着查询集...
exclude(**kwargs)排除符合条件的数据,返回一个QuerySet。 Article.objects.exclude(status = 0) # select * from article where status<>0 *values(field)返回一个ValueQuerySet,一个特殊的QuerySet,运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列。
3、exclude() 这个函数与 filter() 函数功能相反,是排除符合条件的数据。 4、annotate() annotate 这个单词的意思是 注释,在 Django 里的用法是,通过对数据进行处理,比如一个表达式,或者是通过外键引入一个新的数据字段,或者是聚合出来一个结果(比如平均值,综合等),会在每一条返回的数据里面新增一个前面表达式的...
1. QuerySet对象(查询集合) QuerySet对象是Django-ORM中查询数据返回的类似列表的多数据集合 返回QuerySet的过滤器方法有 all : 返回全部数据的QuerySet[models Objects,] filter : 返回满足条件的QuerySet exclude : 返回条件之外的QuerySet order_by: 返回经过排序后的QuerySet 1.1 QuerySet对象可再次调用过滤器(...
exclude(pub_date__gte=datetime.date.today()) >>> q3 = q1.filter(pub_date__gte=datetime.date.today()) 这三个 QuerySets 是独立的。第一个是基础 QuerySet,包含了所有标题以 "What" 开头的条目。第二个是第一个的子集,带有额外条件,排除了 pub_date 是今天和今天之后的所有记录。第三个是第一...
Model.objects.exclude(content__contains="条件").distinct() 6、none() 返回空的QuerySet Model.objects.none() 二、非链式调用接口 1、get() 比如Post.objects.get(id=1)用于查询id为1的文章:如果存在,则直接返回对应的Post实例;如果不存在,则抛出DoesNotExist异常。所以一般情况下,要使用异常捕获处理 ...
objects = MyModel.objects.exclude(name='John') 1. 2. 3. order_by() order_by()方法用于对查询结果进行排序。例如: 复制 from myapp.models import MyModel objects = MyModel.objects.order_by('-age') 1. 2. 3. count() count()方法返回当前QuerySet中对象的数量。例如: ...