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