使用values()或values_list()方法:这两个方法可以指定只返回需要的字段,减少数据库查询的数据量。values()返回一个字典列表,values_list()返回一个元组列表。 使用annotate()方法进行聚合查询:当需要对查询结果进行聚合计算时,可以使用annotate()方法,避免多次查询数据库。
还可以对 values 指定的字段值进行处理后返回,比如全部小写: from django.db.models.functions import Lower Project.objects.values(Lower_name=Lower('name')) 获取外键字段 在指定外键加上双下划线和字段名即可:Project.objects.values('interface__name') valuse_list() values() 函数返回的结果是字典列表,列表...
Blog.objects.values(lower_name=Lower('name')) 获取外键字段 也可以获取外键字段,指定外键加上双下划线和字段名即可: Entry.objects.values('blog__name') 3、values_list() values() 函数返回的结果是字典列表,列表里的元素是一个个的字典。 values_list() 函数返回的则是元组列表,效果如下: Entry.objects....
如果是使用 values() 方法,则会仅仅返回相应字段的字典列表,比如: name_dict_list = Blog.objects.values("name") name_dict_list 数据则为: <QuerySet [{'name': 'python3'}, {'name': 'hunter'}, {'name': 'a'}]> name_dict_list 可以通过下标,访问到单条数据。 >>> name_dict_list[0] {...
在Django中,使用values_list指定字段取值及distinct去重处理的方法如下:values_list指定字段取值:values_list函数用于从数据库中获取指定字段的值,并返回一个元组列表。用法:Model.objects.values_list。其中,'field1', 'field2'等是你想要获取的字段名。示例:假设有一个User模型,包含first_name和...
values() values_list() distinct() using() 1、reverse() 对QuerySet 返回的结果进行反转,使用方法如下: fromblog.modelsimportBlog Blog.objects.filter(id__gte=2).reverse() 1. 2. 通过reverse() 方法,可以使原本是某个顺序的数据顺序倒转返回。
values_list()函数返回的是元组列表,与values()函数不同,其返回的列表元素为元组。当需要获取仅有一个字段时,可以将返回结果变为列表格式,通过添加flat参数实现。值得注意的是,此方法仅适用于获取单个字段的情况。最后,distinct()方法类似于MySQL中的DISTINCT,用于去除数据集中的重复值。使用时需配合...
原文链接:Django笔记十之取值指定字段及去重 这篇笔记将介绍 reverse、distinct、values 和 values_list 的用法。 本篇笔记目录如下: reverse() values() values_list() distinct() using() 1、reverse() 对QuerySet 返回的结果进行反转,使用方法如下:
当我在able表上编写distinct查询时,我得到1 2 3和一个空的'‘值。example.objects.values_list('values',flat = True).distinct() 是否有一种方法可以过滤掉空值 浏览0提问于2012-09-04得票数6 回答已采纳 1回答 将原始查询更改为django模型 、、 ...
*values_list(field)它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列。 articles_values_list = Article.objects.values_list('title', 'tags') # 输出结果: <QuerySet [('python数据类型', None), ('Python快速入门', None), ('MySQL快速入门', None), ('MySQL快速入门', 4...