values() 调用后面的extra() 调用将忽略选择的额外的字段 在values() 之后调用only() 和defer() 不太合理,所以将引发一个NotImplementedError 外键:会返回对应的主键 多对多:会将数据集合成本放大,慎用 values_list() 1、不带参数,或者带多个参数,返回元组 >>> Entry.objects.values_list('id', 'headline') ...
Blog.objects.values(lower_name=Lower('name')) 获取外键字段 也可以获取外键字段,指定外键加上双下划线和字段名即可: Entry.objects.values('blog__name') 3、values_list() values() 函数返回的结果是字典列表,列表里的元素是一个个的字典。 values_list() 函数返回的则是元组列表,效果如下: Entry.objects....
Entry.objects.values('blog__name') 1. 3、values_list() values() 函数返回的结果是字典列表,列表里的元素是一个个的字典。 values_list() 函数返回的则是元组列表,效果如下: Entry.objects.values_list('id','headline')<QuerySet[(1,'123'),(2,'wwwqeq')]> 1. 2. 如果我们需要获取的仅有一个...
name_dict_list = Blog.objects.values("name")name_dict_list 数据则为: Plain Text 复制代码 ...
在Django中,可以使用values_list方法来获取查询集。values_list方法返回一个元组列表,每个元组包含指定字段的值。 使用values_list方法的语法如下: 代码语言:txt 复制 queryset.values_list(*fields, flat=False) 参数说明: fields:可选参数,指定要返回的字段。如果不指定,则返回所有字段的值。
如果是使用 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] {...
School.objects.filter(school_id=1).values_list("id", "flat = true") 上述orm解释: 查找School表中school_id为1的id,这将返回一个id列表,而不是单个id元组列表。 差异巨大,values_list速度更快。flat = true使得它更快,因为python不需要实例化列表中的所有对象,只返回数据库值。 为了证明它更快,因为Dj...
使用with模板标签 在模板中使用QuerySet缓存,需要使用with标签 使用iterator() 获取大量数据时 news_list = News.objects.filter(title__contains..., 和select_related()类似,针对many-to-many 不要获取你不需要的数据 使用 QuerySet.values() 和 values_list() 当只需要一个字段的值,返回list...不要...
Article.objects.values('comment_id').distinct() 有什么区别? 该values()方法返回包含字典的QuerySet: <QuerySet [{'comment_id': 1}, {'comment_id': 2}]> 该values_list()方法返回一个包含元组的QuerySet: <QuerySet [(1,),(2,)]>
values_list() 方法类似于 values() 方法,但它返回元组而不是返回字典。 >>> Student.objects.values_list('id', 'name')<QuerySet [(1, 'Regina Johnson'), (3, 'Eva Smith'), (4, 'Jessie Smith'), (5, 'John David')]> 如果我们只需要一个单一的值,比如一个列表而不是一个元组,我们可以将...