📜  django orm 中的 values_list 是什么 - Python (1)

📅  最后修改于: 2023-12-03 14:40:46.440000             🧑  作者: Mango

Django ORM 中的 values_list

在 Django ORM 中,values_list 是一个查询集方法,用于从数据库中检索指定字段的数据,返回值是一个元组列表。values_list() 方法可以接收一个或多个字段名称,用于从数据库中检索数据。该方法可以用于获取模型字段的值,也可以用于计算聚合函数(如 Sum、Count、Avg 等)。

使用方法
1. 基本用法

以下是使用 values_list() 基本用法的示例:

from myapp.models import MyModel

# 获取 MyModel 模型中所有对象的 id 和 name 字段值
result = MyModel.objects.values_list('id', 'name')

# 获取 MyModel 模型中所有对象的 id 和 name 字段值,并打印出来
for instance_id, instance_name in result:
    print(instance_id, instance_name)
2. 限制数量和排序
# 获取 MyModel 模型中前 5 个对象的 id 和 name 字段值,并按 name 字段升序排序
result = MyModel.objects.order_by('name').values_list('id', 'name')[:5]
3. 聚合函数
# 计算 MyModel 中数值字段 age 的平均值和最大值
result = MyModel.objects.aggregate(Avg('age'), Max('age'))
结语

values_list() 是 Django ORM 中常用的一个查询集方法,可以方便地从数据库中检索指定字段的数据,并且支持计算聚合函数。熟练掌握该方法,对于开发高效且性能优良的 Django 应用程序至关重要。