值列表与迭代

Values list vs Iterating

我必须从查询集中的每个模型实例中提取 id 字段的值。什么更有效 - 使用列表理解或值列表方法迭代查询集并将平面参数设置为 true,然后转换为列表?

values_list 会更高效,因为它只会从数据库中获取请求的字段,不会实例化模型实例。

引用Django documentation

It is useful when you know you’re only going to need values from a small number of the available fields and you won’t need the functionality of a model instance object. It’s more efficient to select only the fields you need to use.