Python

Что такое Django ORM?

Что такое Django ORM?
В современном мире технологии стали неотъемлемой частью нашей жизни, поскольку все вокруг нас оцифровано. Это также верно даже в деловом секторе. Компании, которые не используют правильную инфраструктуру и не могут оборудовать правильную технологическую архитектуру, в конечном итоге отстают от своих конкурентов. Это главным образом связано с тем, что в настоящее время объем данных, на которые предприятия и организации полагаются в своем анализе, экспоненциально вырос, и, как следствие, для того, чтобы они могли эффективно обрабатывать и интерпретировать их, им необходим правильный набор данных. инструментов и инфраструктуры для их поддержки.

Базы данных являются одной из самых популярных технологий, используемых для сбора и организации данных, поскольку они позволяют легко получить доступ к данным, управлять ими и обновлять их. Однако этим базам данных требуется система управления для выполнения этих задач. В основном язык SQL используется для выполнения операций в базе данных, однако по мере того, как ваше приложение растет и становится более сложным, становится чрезвычайно трудно иметь представление о том, что именно делает каждая операция. Здесь на сцену выходит техника объектно-реляционного сопоставления (ORM). Это позволяет запрашивать и обрабатывать данные с помощью объектно-ориентированного языка программирования по вашему выбору. ORM уменьшают сложность вашего кода и делают его более понятным, что, в свою очередь, упрощает обновление, поддержку и повторное использование кода.

В этой статье мы рассмотрим Django ORM, который представляет собой ORM на основе Python и, следовательно, является одной из самых популярных технологий, используемых в наши дни.

Что такое Джанго?

Прежде чем мы перейдем к рассмотрению ORM Django, давайте сначала посмотрим, что на самом деле представляет собой эта технология Pythonic под названием Django.

Django - это бесплатный веб-фреймворк с открытым исходным кодом, разработанный на Python, поэтому он имеет очень чистый и аккуратный дизайн, а также простой, гибкий, надежный и масштабируемый. Он упрощает работу веб-разработчиков, поскольку предоставляет пользователям готовые компоненты, которые, в свою очередь, не позволяют им писать все с нуля и, как следствие, ускоряют их работу и сокращают накладные расходы на их веб-сайтах. В дополнение к этому, он чрезвычайно безопасен и помогает пользователям избежать проблем с безопасностью, таких как атаки восстановления пользовательского интерфейса, SQL-инъекции и т. Д. У него также очень большое сообщество, которое всегда доступно через форумы и всегда готово предложить свою помощь другим.

Давайте теперь наконец посмотрим на Django ORM и некоторые из его основных функций.

Доступ к Django ORM

После установки Django и настройки его проекта нам обычно предоставляются следующие исходные файлы:

mysite здесь относится к имени проекта, который вы создали. Все эти файлы используются по-своему, и важно знать, какую роль играет каждый файл. Здесь мы сосредоточимся на управлении.py-файл, который будет контролировать для нас много разных вещей, таких как настройка сервера, выполнение миграций, связь с базой данных, а также переход в режим ORM.

Чтобы открыть Django ORM, откройте командную строку из основного каталога вашего проекта Django и выполните следующую команду:

$ python manage.py оболочка

Это откроет для нас интерактивную оболочку, которая позволит нам начать взаимодействие с базой данных с помощью ORM.

Управление базой данных с помощью запросов в Django ORM

Поскольку ORM позволяет нам взаимодействовать с базой данных, теперь мы можем писать различные запросы для извлечения и управления данными из базы данных. Однако, прежде чем мы сможем начать работу с базой данных в оболочке, мы сначала должны импортировать все связанные с ней модели. Это можно сделать, просто запустив команду в интерактивной оболочке, как показано ниже:

$ от appName.модели import modelName

Здесь appName относится к имени вашего приложения, которое вы создали, и, следовательно, где в настоящее время хранятся ваши модели. ModelName относится к имени модели, которую вы хотите импортировать и использовать. Сюда можно импортировать несколько моделей, как показано в примере ниже:

Теперь вы можете получить доступ к объекту модели и прочитать из него данные. Например, если нам нужен список всех сообщений, мы можем просто получить их, выполнив следующую команду в нашем терминале:

$ Post.объекты.все()

Следующее - результат вышеуказанной команды:

Мы можем делать несколько других вещей в ORM, например, создавать новые данные базы данных, обновлять данные и все другие команды базы данных, которые вы можете.

Моделирование базы данных

Одна из лучших вещей, которые Django ORM предоставляет своим пользователям, - это возможность автоматически связывать и устанавливать отношения между атрибутами объекта вашей модели и соответствующими полями таблицы. В базах данных существуют в основном три типа отношений. это отношения «один к одному», отношения «один ко многим» или «многие к одному» и отношения «многие ко многим».

Отношение «один к одному», как следует из названия, означает, что запись одной таблицы соответствует одной записи другой таблицы. В Django ORM мы можем легко установить это следующим образом:

class Parent (модели.Модель):
пользователь = модели.OneToOneField (
Пользователь,
on_delete = модели.КАСКАД,
primary_key = Истина,
)
name_of_father = модели.CharField (max_length = 100)
name_of_mother = модели.CharField (max_length = 100)

Здесь у каждого пользователя могут быть только одинокие биологические родители, и, следовательно, это отношения один-к-одному. Теперь, если мы удалим любого пользователя, имеющего доступ к этой модели, он также удалит модель 2nd пользователь, поскольку они зависят друг от друга.

Отношения «один ко многим» или «многие к одному» относятся к отношениям, при которых родительская запись может иметь несколько дочерних записей, однако у нее может быть только один дочерний элемент или ни одного ребенка. В Django ORM мы можем легко установить эту связь, используя Иностранный ключ поле:

класс Customer (модели.Модель):
имя = модели.CharField (max_length = 255)
класс Автомобиль (модели.Модель):
customer = models.Иностранный ключ(
Клиент,
on_delete = модели.КАСКАД
)

Как видно из приведенного выше кода, у клиента может быть несколько автомобилей.

Наконец, отношения "многие ко многим" определяют отношения, при которых несколько таблиц могут относиться друг к другу. Мы можем создать это, используя МногиеToMany поле. В приведенном ниже примере мы создали две модели: одну для пользователя, а другую - для его сообщений. Также может быть несколько пользователей, поскольку у каждого пользователя может быть несколько сообщений.

класс User (модели.Модель):
post = модели.ManyToManyField (сообщение, пусто = True)
друзья = модели.ManyToManyField (настройки.AUTH_USER_MODEL, blank = True)
класс Post (модели.Модель):
post = модели.Текстовое поле()
любит = модели.ManyToManyField (настройки.AUTH_USER_MODEL, blank = True, related_name = 'user_likes')

Заключение

Django ORM - чрезвычайно мощный инструмент, который значительно упростил работу веб-разработчиков. Он имеет множество функций, таких как манипулирование моделями базы данных, установление отношений между моделями и многое другое. Вкратце, Django ORM - одна из лучших вещей, которые поставляются с Django, и очень эффективны в выполняемой работе.

Левая кнопка мыши не работает в Windows 10
Если вы используете выделенную мышь со своим ноутбуком или настольным компьютером, но левая кнопка мыши не работает в Windows 10/8/7 по какой-то причи...
Курсор прыгает или перемещается случайным образом при наборе текста в Windows 10
Если вы обнаружите, что ваш курсор мыши прыгает или перемещается сам по себе, автоматически, случайным образом при вводе текста на ноутбуке или компью...
Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...