QuerySet API详解-values和values_list: values:用来指定在提取数据出来,需要提取哪些字段。默认情况下会把表中所有的字段全部都提取出来,可以使用values来进行指定,并且使用了values方法后,提取出的QuerySet中的数据类型不是模型,而是在values方法中指定的字段和值形成的字典: #books = Book.objects.values("id", "...
5. values_list():和values()用法相同,不同的地方就是,前者返回的是元组而后者返回的是字典。示例代码如下: articles = Article.objects.values_list('title', Count('category__id')) 6. values_list(): 如果只传递一个字段名,这个是后再返回一个元组的话,就不太好了,可以通过指定falt=True,来使元组扁...
程序上线遇到问题,开发环境与生产环境表现不一致。深入研究后发现是理解 Django ORM 的 values_list 方法返回值类型有误。原本意图是提取数据库表中部分 ID 以供前端 JavaScript 使用,以为 values_list 方法配合 flat=True 参数能返回一个 ID 列表。查阅资料发现,常规操作下,values_list 方法确实能返...
<class 'django.db.models.query.ValuesListQuerySet'> 这下明白了,ValuesListQuerySet直接转str,只有显示前20个元素,后面就是'...(remaining elements truncated)...'了. ️最终修改 修改很简单,直接把ValuesListQuerySet强转成list就可以了,如下: ids_list = list(Products.objects.filter(ProductClass_id=51...
一般而言,当对一个没有求值的QuerySet进行的运算,返回的是QuerySet、ValuesQuerySet、ValuesListQuerySet、Model实例时,一般不会立即查询数据库;反之,当返回的不是这些类型时,会查询数据库。下面介绍几种(并非全部)对QuerySet求值的场景。 class Blog(models.Model): name = models.CharField(max_length=100) ...
2.values_list:类似于values。只不过返回的QuerySet中,存储的不是字典,而是元组。示例代码如下: articles = Article.objects.values_list("id","title") print(articles) 那么在打印articles后,结果为<QuerySet [(1,'abc'),(2,'xxx'),...]>等。
如果你没给 values_list() 传递参数,它就会按照字段在 model 类中定义的顺序返回所有的字段。 注意这个方法返回的是 ValuesListQuerySet对象,和列表相似但并不是列表,需要列表操作时需list()转为列表。 dates(field, kind, order='ASC') 返回一个 DateQuerySet ,就是提取 QuerySet 查询中所包含的日期,将其组...
1.查看 Django queryset 执行的 SQL 2.values_list 获取元组形式结果 3. values 获取字典形式的结果 4. extra 实现 别名,...
例如,假设有一个QuerySet对象qs,可以使用qs.values_list('field1', 'field2')来提取字段field1和field2的值。 使用get()方法:如果只需要提取QuerySet中的一条记录,可以使用get()方法。get()方法返回符合条件的单个对象,而不是QuerySet对象。例如,假设有一个QuerySet对象qs,可以使用qs.get(field='value')来...
values_list:类似于values。只不过返回的QuerySet中,存储的不是字典,而是元组。示例代码如下: articles = Article.objects.values_list("id","title") print(articles) 那么在打印articles后,结果为<QuerySet [(1,'abc'),(2,'xxx'),...]>等。