values_list()
是Django中ORM(Object-Relational Mapping,对象关系映射)查询API的一种方法。它的作用是从数据库中查询数据,并将结果封装成一个由元组组成的列表。
使用方法
values_list()
方法可以接受多个参数,并且允许传递一些关键字参数。以下是values_list()
方法的基本使用方法:
Model.objects.values_list(*fields, **kwargs)
其中,*fields
表示要查询的字段名,可以使用任何有效的Django字段名。如果不传递字段名,则返回包含所有字段的元组。**kwargs
表示使用的查询条件,例如filter()
函数中的参数。
values_list()
返回一个QuerySet对象,其中每个元素包含一个元组,其中包含要获取的数据字段的值。以下代码演示了如何使用values_list()
从数据库中查询一个模型的字段的值:
from myapp.models import MyModel
results = MyModel.objects.values_list('id', 'name')
for result in results:
print(result)
此处的MyModel
是一个Django模型,查询语句将返回id
和name
字段值的元组。
示例
下面提供两个实例,详细说明values_list()
的使用方法。
示例1 :获取模型的所有字段
以下示例使用values_list()
函数返回一个查询集,其中包含所有MyModel
模型的字段的值:
from myapp.models import MyModel
results = MyModel.objects.values_list()
for result in results:
print(result)
注意,此处没有指定查询哪些具体的字段,因此该代码将查询模型中的所有字段。
示例2:获取模型的部分字段
以下示例使用values_list()
函数查询一个MyModel
模型的id
和name
字段:
from myapp.models import MyModel
results = MyModel.objects.values_list('id', 'name')
for result in results:
print(result)
在这个例子中,返回的结果只含有id
和name
两个字段的值。