Модели 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 
  • Определение стиля CSS в поле модели Django
  • Django, фильтрация запросов из метода модели
  • Методы класса модели Django для предопределенных значений
  • система шаблонов django, вызывающая функцию внутри модели
  • Ошибка Django db: не удалось идентифицировать оператор равенства для типа json при попытке аннотировать модель с помощью jsonfield
  • Перезагрузить объект django из базы данных
  • Простой вопрос о форме / модели Django
  • Отобразить таблицу объектов django
  •  
    Interesting Posts for Van-Lav

    Python: оптимизация импорта

    Есть ли умный способ получить предыдущий / следующий элемент с помощью Django ORM?

    django-countries: Person () принимает ровно 1 аргумент (0 задано)

    Parfor для Python

    Панда: где здесь утечка памяти?

    булевское индексирование, которое может привести к представлению большого массива данных панд?

    Могу ли я программно запустить сервер приложений WSGI, не блокируя основной поток выполнения?

    Есть ли более быстрый способ преобразования произвольного большого целого в большую байтовую последовательность байтов?

    построение и форматирование диаграммы морского дна из pandas dataframe

    Создание данных дерева с использованием networkx в python

    Django 1.8.4 makemigrations CreateModel изменяет порядок поля

    Почему + = списка внутри кортежа Python вызывает TypeError, но в любом случае изменить список?

    Ошибка: установка элемента массива с последовательностью. Python / Numpy

    Размещение данных в соответствующих именах полей в файле CSV Использование Python

    Захват аудио 192 кГц с использованием Python 3

    Python - лучший язык программирования в мире.