Использование метода значений_списка Django для получения определенных полей из набора запросов

Метод values_listв Django используется для извлечения определенных полей из набора запросов в виде списка кортежей или плоских значений. Это может быть особенно полезно, когда вам нужен только определенный набор значений из вашего набора запросов, а не получение всего объекта.

Вот несколько примеров использования метода values_listв Django:

Пример 1. Получение одного поля в виде плоского списка

# Assuming you have a model called 'Book' with a field called 'title'
book_titles = Book.objects.values_list('title', flat=True)
print(list(book_titles))

В этом примере метод values_listиспользуется для получения только поля «заголовок» из модели «Книга». Если установить flat=True, результатом будет простой список названий книг.

Пример 2. Получение нескольких полей в виде списка кортежей

# Assuming you have a model called 'Book' with fields 'title' and 'author'
book_info = Book.objects.values_list('title', 'author')
print(list(book_info))

В этом примере метод values_listиспользуется для получения полей «заголовок» и «автор» из модели «Книга». Результатом будет список кортежей, каждый из которых содержит название и автора книги.

Пример 3. Применение дополнительных фильтров

# Assuming you have a model called 'Book' with fields 'title' and 'author'
# Retrieving titles of books written by a specific author
book_titles = Book.objects.filter(author='John Smith').values_list('title', flat=True)
print(list(book_titles))

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