Django模型select单一领域

我有一个表/模型称为Employees ,我想获得单个字段的所有行作为查询集。

我知道我可以这样做(希望我甚至可以做到这一点):

 emp_list = Employees.objects.get(all) emp_names = emp_list.eng_name 

将查询数据库的所有字段,并只使用一个? 有没有更好的(更快)的方式做到这一点?

 Employees.objects.values_list('eng_name', flat=True) 

这将创build一个所有eng_name的平面列表。 如果你想每行有多个字段,你不能做一个简单的列表:这将创build一个列表的列表:

 Employees.objects.values_list('eng_name', 'rank') 

除了Daniel 提到的 values_list之外,你也可以only使用(或defer相反的效果)来得到只有id和指定字段的对象的查询集:

 Employees.objects.only('eng_name') 

这将运行一个单一的查询:

 SELECT id, eng_name FROM employees