Python

Какво е Django ORM?

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

Базите данни са една от най-популярните технологии, използвани за събиране и организиране на данни, тъй като позволява данните да бъдат лесно достъпни, управляеми и актуализирани. Тези бази данни обаче изискват система за управление, за да изпълняват тези задачи. Най-вече езикът SQL се използва за извършване на операции в база данни, но тъй като приложението ви расте и става по-сложно, става изключително трудно да имате представа какво точно прави всяка операция. Това е мястото, където техниката Object Relational Mapping (ORM) влиза в картината. Това позволява заявки и манипулиране на данните с помощта на обектно-ориентиран език за програмиране по ваш избор. ORM намаляват сложността на вашия код и го правят по-разбираем, което от своя страна улеснява актуализирането, поддържането и повторното използване на кода.

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

Какво е Django?

Преди да преминем към разглеждането на ORM на Django, нека първо видим какво всъщност представлява тази Pythonic технология, наречена Django.

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

Нека сега най-накрая да разгледаме Django ORM и някои от основните му характеристики.

Достъп до ORM на Django

След като инсталираме Django и настроим неговия проект, обикновено ни се предоставят следните първоначални файлове:

mysite тук се отнася до името на проекта, който сте създали. Всички тези файлове имат свое собствено използване и е важно човек да знае каква роля играе всеки файл. Нашият фокус тук ще бъде върху управлението.py файл, който ще контролира много различни неща за нас, като настройка на сървър, извършване на миграции, комуникация с база данни, както и влизане в режим ORM.

За да отворите Django ORM, отворете командния ред от главната директория на вашия проект на Django и изпълнете следната команда:

$ python управлява.py черупка

Това ще ни отвори интерактивна обвивка, която ще ни позволи да започнем да взаимодействаме с базата данни, използвайки ORM.

Манипулиране на база данни с помощта на заявки в Django ORM

Тъй като ORM ни позволява да взаимодействаме с базата данни, вече можем да пишем различни заявки за извличане и манипулиране на данните от базата данни. Преди да започнем да работим върху базата данни в черупката, първо трябва да импортираме всички модели, свързани с нея. Това може да стане чрез просто изпълнение на команда в интерактивната обвивка, както е показано по-долу:

$ от appName.модели импортиране на modelName

Тук appName се отнася до името на вашето приложение, което сте създали и следователно къде се съхраняват вашите модели в момента. ModelName се отнася до името на модела, който искате да импортирате и използвате. Тук можете да импортирате множество модели, както се вижда в примера по-долу:

Сега можете да осъществите достъп до обекта на модела и да четете данни от него. Например, ако искаме списъка с всички публикации, можем просто да ги получим, като изпълним следната команда в нашия терминал:

$ Публикация.обекти.всичко()

По-долу е резултатът от горната команда:

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

Моделиране на база данни

Едно от най-добрите неща, които Django ORM предоставя на своите потребители, е възможността за автоматично свързване и установяване на връзки между атрибутите на обекта на вашия модел и съответните полета на таблицата. В базите данни съществуват предимно три типа връзки. това са взаимоотношенията един към един, отношенията един към много или много към един и връзките много към много.

Взаимоотношението един към един е, както подсказва името, където записът на една таблица съответства на един запис на друга таблица. В Django ORM можем лесно да установим това по следния начин:

клас Родител (модели.Модел):
потребител = модели.OneToOneField (
Потребител,
on_delete = модели.КАСКАДА,
primary_key = Вярно,
)
name_of_father = модели.CharField (max_length = 100)
name_of_mother = модели.CharField (max_length = 100)

Тук всеки потребител може да има само самотни биологични родители и следователно това е връзка един към един. Сега, ако изтрием някой потребител, който има достъп до този модел, той ще изтрие и модела на 2nd потребител, тъй като те са зависими един от друг.

Един към много или много към един се отнася до връзка, при която родителският запис може да има няколко дъщерни записа, но може да има само едно или нито едно дете. В Django ORM можем лесно да установим тази връзка, използвайки ForeignKey поле:

клас Клиент (модели.Модел):
име = модели.CharField (max_length = 255)
клас Превозно средство (модели.Модел):
клиент = модели.ForeignKey (
Клиент,
on_delete = модели.КАСКАДА
)

Както се вижда в горния код, клиентът може да има множество превозни средства.

И накрая, връзките много към много дефинират връзка, при която множество таблици могат да се отнасят една към друга. Можем да създадем това с помощта на ManyToMany поле. В примера по-долу създадохме два модела, единият за потребителя, а другият за техните публикации. Може да има и няколко потребители, тъй като всеки потребител може да има няколко публикации.

клас Потребител (модели.Модел):
пост = модели.ManyToManyField (Публикуване, празно = Вярно)
приятели = модели.ManyToManyField (настройки.AUTH_USER_MODEL, празно = Вярно)
клас Поща (модели.Модел):
пост = модели.Текстово поле()
харесва = модели.ManyToManyField (настройки.AUTH_USER_MODEL, празно = Вярно, свързано_име = 'user_likes')

Заключение

Django ORM е изключително мощен инструмент и много улесни работата на уеб разработчиците. Той има разнообразни функции като манипулиране на модели на бази данни, установяване на връзка между моделите и много други. С две думи, Django ORM е едно от най-добрите неща, които се предлагат с Django и е много ефективен при работата, която му се предоставя.

Средният бутон на мишката не работи в Windows 10
The среден бутон на мишката ви помага да превъртате дълги уеб страници и екрани с много данни. Ако това спре, добре ще свършите да използвате клавиату...
Как да промените левия и десния бутон на мишката на компютър с Windows 10
Напълно нормално е всички устройства на компютърни мишки да са ергономично проектирани за десничари. Но има налични устройства за мишка, които са спец...
Емулирайте кликванията на мишката, като задържите курсора на мишката с кликаща мишка в Windows 10
Използването на мишка или клавиатура в неправилна поза при прекомерна употреба може да доведе до много здравословни проблеми, включително напрежение, ...