Найти в Дзене
В Дзене применяются
рекомендательные технологии
Kangaroo

Django: выборка данных

Является обязательным знать и понимать, как создаются и обновляются записи в Базе Данных.

Для выбора всех записей из модели News, достаточно лишь записать в переменную

news = News.objects.all()

Этот вызов транслирует следующую SQL-команду:

SELECT id, caregory, title, body FROM news;

Примечание:

При выборке Django не употребляет команду SELECT * , а всегда перечисляет все поля явно.

Рассмотрим отдельные части выражения:

News.objects.all()

News - это наша модель, в которой имеются поля title, body и category;

objects - это атрибут, который отвечает за операции "уровня таблицы" (в том числе выборку данных) и называется менеджером;

метод all() - метод менеджера objects, который возвращает все строки таблицы базы данных. Этот объект является экземпляром класса QuerySet.

Однако выводить все записи из таблицы приходится редко, и иногда данные нужно фильтровать:

News.objects.filter(category='IT')

Метод filter() принимает аргументы, которые затем транслируется в предложение WHERE SQL-команды SELECT.

Допустимо, так же, передать несколько аргументов.

News.objects.filter(category='IT', title='python')

В некоторых случаях удобнее было бы выбрать всего лишь один объект, для этого используется метод get():

News.objects.get(title='python')

Выполняя предыдущие примеры, мы не сказали, как упорядочить результаты. Для этого используется метод order_by():

News.objects.order_by('title')

Таким образом результат будет отсортирован в алфавитном порядке. Сортировать можно по любому полю и нескольким полям(второе поле устраняет неоднозначность в случае первого).

Допускается также изменить порядок сортировки на противоположенный, поставив перед именем поля знак `-`:

News.objects.order_by('-title')

Так же Django позволяет задать порядок сортировки по умолчанию прямо в модели. Для этого используется концепция: class Meta, который принимает аргумент ordering. Подробнее о class Meta вы можете узнать в документации.

Что-то пошло не так, и нам не удалось загрузить комментарии. Попробуйте ещё раз
Рекомендуем почитать
🐍🏗️ Основы архитектуры для джунов: построение масштабируемых и чистых приложений на Python
Когда речь идет о создании масштабируемых и поддерживаемых приложений, понимание таких важных понятий, как принципы чистого кода, архитектурные паттерны и SOLID практики проектирования, имеет решающее значение. Изучив эти принципы, новички получат представление о построении надежных, гибких и легко тестируемых приложений, что позволит им сохранить ясность кодовой базы и возможность ее сопровождения по мере роста их проектов. Немного теории Прежде чем погрузиться в архитектуру, я хотел бы ответить...
🐍📋 F-строки в Python для интерполяции и форматирования строк
Из этой статьи вы узнаете, как использовать f-строки — инструмент для быстрой интерполяции и форматирования строк, который превосходит по эффективности и читабельности классические подходы с применением оператора % и метода .format(). Данная статья является переводом. Ссылка на оригинал. К концу этого руководства вы поймете, почему f-строки – это мощный инструмент, которым необходимо овладеть разработчику на Python. В этом самоучителе вы узнаете, как: Для извлечения максимальной пользы от этого руководства, вы должны быть знакомы с типом данных строк Python...
6 симптомов, что текст написала нейросеть. Как поймать копирайтеров, авторов и экспертов на генерации контента
Нейросети все больше входят в нашу жизнь — и особенно в маркетинг и продвижение. Однако часто прогрессом начинают злоупотреблять, например, продавать заказчикам сгенерированные тексты под видом оригинальных или отправлять такие материалы в СМИ. Редакция Pressfeed.Журнала разбирается, как распознать статью или комментарий, написанный нейросетью, и на какие красные флажки обращать внимание маркетологам, редакторам и журналистам. Проблема злоупотребления генеративными нейросетями усугубляется в геометрической прогрессии...
Следующая статья
Документы, вакансии и контакты