Питхон

Шта је Дјанго ОРМ?

Шта је Дјанго ОРМ?
У данашњем свету технологија је постала саставни део нашег живота јер је све око нас постало дигитализовано. То је тачно чак и у пословном сектору. Предузећа која не користе праву инфраструктуру и нису у стању да опреме праву технолошку архитектуру на крају заостају за конкурентима. То је углавном због тога што је у данашње време количина података на које се предузећа и организације ослањају у својој анализи експоненцијално порасла и као резултат тога, да би их могли ефикасно обрадити и протумачити, морају имати прави скуп података алата и инфраструктуре која их подржава.

Базе података су једна од најпопуларнијих технологија која се користи за прикупљање и организацију података, јер омогућава лако доступност података, управљање и ажурирање. Међутим, ове базе података захтевају систем управљања за обављање ових задатака. Углавном се језик СКЛ користи за извођење операција у бази података, међутим, како ваша апликација расте и постаје сложенија, постаје изузетно тешко имати идеју шта тачно свака операција ради. Ту долази до изражаја техника Објецт Релатионал Маппинг (ОРМ). Ово омогућава упите и манипулацију подацима помоћу објектно оријентисаног програмског језика по вашем избору. ОРМ-ови смањују сложеност вашег кода и чине га разумљивијим, што заузврат олакшава ажурирање, одржавање и поновну употребу кода.

У овом чланку ћемо погледати Дјанго ОРМ, који је ОРМ заснован на Питхону и према томе, једна од најпопуларнијих технологија која се данас користи.

Шта је Дјанго?

Пре него што пређемо на сагледавање ОРМ-а Дјанго-а, погледајмо прво шта је заправо ова Питхониц технологија звана Дјанго.

Дјанго је бесплатни веб оквир отвореног кода дизајниран у Питхону и стога има врло чист и уредан дизајн, а истовремено је једноставан, флексибилан, поуздан и скалабилан. Веома олакшава ствари веб програмерима јер корисницима пружа готове компоненте које им заузврат спречавају да пишу све испочетка, што као резултат убрзава њихов рад и смањује трошкове на њиховој веб локацији. Поред тога, изузетно је сигуран и помаже корисницима да избегну сигурносне проблеме као што су напади на поправке корисничког интерфејса, СКЛ ињекције итд. Такође има изузетно велику заједницу која је увек доступна путем форума и увек спремна да пружи своју помоћ другима.

Погледајмо сада коначно Дјанго ОРМ и неке од његових главних карактеристика.

Приступ Дјанго ОРМ-у

Након инсталирања Дјанго-а и постављања његовог пројекта, обично се добијају следеће почетне датотеке:

мисите овде се односи на назив пројекта који сте креирали. Све ове датотеке имају сопствену употребу и важно је да треба знати коју улогу свака датотека игра. Наш фокус овде ће бити на управљању.пи датотека која ће контролисати пуно различитих ствари за нас, као што су подешавање сервера, миграције, комуникација са базом података, као и улазак у ОРМ режим.

Да бисте отворили Дјанго ОРМ, отворите командну линију из главног директоријума вашег Дјанго пројекта и покрените следећу наредбу:

$ питхон управљање.пи схелл

Ово ће нам отворити интерактивну љуску која ће нам омогућити да започнемо интеракцију са базом података користећи ОРМ.

Манипулација базом података помоћу упита у Дјанго ОРМ-у

Будући да нам ОРМ омогућава интеракцију са базом података, сада можемо писати различите упите за преузимање и манипулисање подацима из базе података. Међутим, пре него што почнемо да радимо на бази података у љусци, прво морамо да увеземо све моделе повезане са њом. То се може учинити једноставним покретањем наредбе у интерактивној љусци, као што је приказано доле:

$ од аппНаме.модели увоз моделНаме

Овде се аппНаме односи на назив ваше апликације коју сте креирали, а тиме и на место где се тренутно чувају ваши модели. Име модела односи се на име модела који желите да увезете и користите. Овде можете да увезете више модела, као што се види у примеру доле:

Сада можете приступити објекту модела и читати податке из њега. На пример, ако желимо листу свих постова, једноставно их можемо добити покретањем следеће наредбе у наш терминал:

$ Пост.предмета.све()

Следи резултат горње наредбе:

Можемо урадити неколико других врста ствари у ОРМ-у, попут стварања нових података базе података, ажурирања података и свих осталих наредби базе података које можете.

Моделирање базе података

Једна од најбољих ствари коју Дјанго ОРМ пружа својим корисницима је могућност аутоматског повезивања и успостављања односа између атрибута објекта вашег модела и одговарајућих поља табеле. У базама података углавном постоје три врсте односа. то су односи један-на-један, однос један-према-многима или много-према-једном и односи много према много.

Однос „један на један“ је, као што и само име говори, где запис једне табеле одговара једном запису друге табеле. У Дјанго ОРМ-у то можемо лако утврдити на следећи начин:

разред Родитељ (модели.Модел):
корисник = модели.ОнеТоОнеФиелд (
Корисник,
он_делете = модели.КАСКАДА,
примари_кеи = Тачно,
)
име_оца = модели.ЦхарФиелд (мак_ленгтх = 100)
име_мајке = модели.ЦхарФиелд (мак_ленгтх = 100)

Овде сваки корисник може имати само самохране биолошке родитеље, па је то однос један-на-један. Сада, ако избришемо било ког корисника који приступа овом моделу, избрисаће и модел 2нд корисник јер су међусобно зависни.

Један према више или један према један односи се на везу у којој родитељски запис може имати неколико подређених записа, међутим, може имати и само једно или ниједно дете. У Дјанго ОРМ-у можемо лако успоставити овај однос користећи Страни кључ поље:

класа Купац (модели.Модел):
име = модели.ЦхарФиелд (мак_ленгтх = 255)
класе Возило (модели.Модел):
купац = модели.Страни кључ(
Купац,
он_делете = модели.КАСКАДА
)

Као што се види у горњем коду, купац може имати више возила.

И на крају, везе много-према-много дефинишу везу у којој се више табела може међусобно повезати. Ово можемо створити помоћу МаниТоМани поље. У доњем примеру створили смо два модела, један за корисника и други за његове објаве. Може бити и више корисника, јер сваки корисник може имати више постова.

класа Корисник (модели.Модел):
пост = модели.МаниТоМаниФиелд (Објава, празно = Тачно)
пријатељи = модели.МаниТоМаниФиелд (подешавања.АУТХ_УСЕР_МОДЕЛ, празно = Тачно)
разред Пошта (модели.Модел):
пост = модели.Текстуално поље()
лајкови = модели.МаниТоМаниФиелд (подешавања.АУТХ_УСЕР_МОДЕЛ, празно = Тачно, сродно_име = 'усер_ликес')

Закључак

Дјанго ОРМ је изузетно моћан алат и толико је олакшао рад веб програмера. Има разне карактеристике попут манипулације моделима база података, успостављања односа између модела и још много тога. Укратко, Дјанго ОРМ је једна од најбољих ствари која долази са Дјанго-ом и изузетно је ефикасна у послу који му се пружа.

Портови комерцијалних игара отвореног кода
Бесплатне рекреације покретачких игара са отвореним кодом и више платформи могу се користити за играње старих, као и неких прилично недавних наслова и...
Најбоље игре командне линије за Линук
Командна линија није само ваш највећи савезник када користите Линук - она ​​такође може бити извор забаве јер је можете користити за играње многих заб...
Најбоље апликације за мапирање гамепада за Линук
Ако волите да играте игре на Линуку са гамепадом уместо са типичним системом за унос тастатуре и миша, за вас постоје неке корисне апликације. Многе и...