Метод 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объединен с фильтром для получения только названий книг, написанных конкретным автором («Джон Смит»).