Модели django, выбирающие одно поле

У меня есть таблица / модели под названием Employees и я хотел бы получить все строки одного поля в качестве набора запросов.

Я знаю, что могу сделать это так (надеюсь, что я это сделаю правильно):

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

Будет ли запрашивать базу данных для всех полей и использовать только одну? Есть ли лучший (более быстрый) способ сделать это?

2 Solutions collect form web for “Модели django, выбирающие одно поле”

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

Это создает плоский список всех eng_name s. Если вы хотите больше одного поля в строке, вы не можете сделать плоский список: это создаст список списков:

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

В дополнение к values_list качестве упоминаний Дэниела вы также можете использовать (или defer для противоположного эффекта), чтобы получить набор запросов объектов, имеющих только их идентификатор и указанные поля:

 Employees.objects.only('eng_name') 

Это запустит один запрос:

 SELECT id, eng_name FROM employees 
Python - лучший язык программирования в мире.