values_list()
是Django中ORM的一个函数,可以用来筛选模型中的数据并将其以tuple的形式返回。下面详细讲解values_list()
函数的作用和使用方法。
作用
values_list()
函数可以返回数据库中所有数据或筛选出的部分数据以tuple的形式返回。但是与values()
函数不同的是,values_list()
返回的结果是一个tuple的列表,而不是一个dict的列表。
使用方法
values_list()
函数可以通过传入几个参数来筛选出需要的数据。具体参数如下:
flat
: 一个布尔值,表示返回结果是否降为一维。默认为False。named
: 一个布尔值,表示是否返回NamedTuple对象。默认为False。fields
: 一个字符串列表,表示需要返回的字段名称。默认为所有字段。
下面提供两个例子:
- 假设我们有一个
Book
模型,包含title
、author
、price
和publish_date
等字段,我们需要查询所有书籍的标题和作者。
books = Book.objects.all().values_list('title', 'author')
print(books)
结果为:
[('Book A', 'Author A'), ('Book B', 'Author B'), ('Book C', 'Author C'), ...]
- 在上面的例子中,我们得到了一个tuple的列表,如果我们只需要书籍的标题,我们可以设置
flat=True
来降维。
book_titles = Book.objects.all().values_list('title', flat=True)
print(book_titles)
结果为:
['Book A', 'Book B', 'Book C', ...]
以上就是values_list()
函数的作用和用法,希望对你有所帮助。