Python

Kaj je Django ORM?

Kaj je Django ORM?
V današnjem svetu je tehnologija postala sestavni del našega življenja, saj je vse okoli nas postalo digitalizirano. To velja tudi v poslovnem sektorju. Podjetja, ki ne uporabljajo prave infrastrukture in niso sposobna opremiti prave tehnološke arhitekture, na koncu zaostajajo za svojimi konkurenti. To je predvsem zato, ker se je danes količina podatkov, na katere se podjetja in organizacije zanašajo pri svoji analizi, eksponentno povečala, zato morajo imeti, da bi jih lahko učinkovito obdelali in razlagali, imeti ustrezen nabor orodij in infrastrukture za njihovo podporo.

Baze podatkov so ena izmed najbolj priljubljenih tehnologij, ki se uporabljajo za zbiranje in organizacijo podatkov, saj omogoča, da so podatki lahko dostopni, obvladljivi in ​​posodobljeni. Vendar te baze podatkov za izvajanje teh nalog zahtevajo sistem upravljanja. Jezik SQL se večinoma uporablja za izvajanje operacij v zbirki podatkov, ko pa vaša aplikacija raste in postaja bolj zapletena, postane izredno težko imeti idejo, kaj točno vsaka operacija počne. Tu nastopi tehnika Object Relational Mapping (ORM). To omogoča poizvedovanje in obdelavo podatkov z uporabo objektno usmerjenega programskega jezika po vaši izbiri. ORM-ji zmanjšajo kompleksnost vaše kode in jo naredijo bolj razumljivo, kar pa olajša posodobitev, vzdrževanje in ponovno uporabo kode.

V tem članku si bomo ogledali Django ORM, ki je ORM, ki temelji na Pythonu, in je zato ena izmed najbolj priljubljenih tehnologij, ki se danes uporablja.

Kaj je Django?

Preden preidemo na ORM Djanga, najprej poglejmo, kaj pravzaprav je ta Pythonic tehnologija, imenovana Django.

Django je brezplačen in odprtokodni spletni okvir, zasnovan v Pythonu, zato ima zelo čisto in gladko zasnovo, hkrati pa je preprost, prilagodljiv, zanesljiv in razširljiv. Spletnim razvijalcem to zelo olajša, saj uporabnikom ponuja že pripravljene komponente, ki jim nato preprečujejo, da bi vse napisali iz nič, posledično pa pospešijo njihovo delo in zmanjšajo režijske stroške na njihovi spletni strani. Poleg tega je izjemno varen in uporabnikom pomaga, da se izognejo varnostnim težavam, kot so napadi na popravke uporabniškega vmesnika, vbrizgi SQL itd. Ima tudi izjemno veliko skupnost, ki je vedno dostopna prek forumov in je vedno pripravljena ponuditi svojo pomoč drugim.

Poglejmo si končno Django ORM in nekatere njegove glavne značilnosti.

Dostop do Django ORM

Po namestitvi Djanga in nastavitvi njegovega projekta imamo navadno naslednje začetne datoteke:

mysite tukaj se nanaša na ime projekta, ki ste ga ustvarili. Vse te datoteke imajo svoje namene in pomembno je, da je treba vedeti, kakšno vlogo ima posamezna datoteka. Naš poudarek tukaj bo na upravljanju.py, ki bo za nas nadzorovala veliko različnih stvari, na primer nastavitev strežnika, izvajanje selitev, komunikacijo z bazo podatkov in vstop v način ORM.

Če želite odpreti Django ORM, odprite ukazno vrstico iz glavnega imenika vašega projekta Django in zaženite naslednji ukaz:

$ python upravljanje.py lupina

To nam bo odprlo interaktivno lupino, ki nam bo omogočila začetek interakcije z bazo podatkov z uporabo ORM.

Manipuliranje z bazo podatkov s pomočjo poizvedb v Django ORM

Ker nam ORM omogoča interakcijo z bazo podatkov, lahko zdaj napišemo različne poizvedbe za pridobivanje in obdelavo podatkov iz baze podatkov. Preden pa začnemo delati na bazi podatkov v lupini, moramo najprej uvoziti vse z njo povezane modele. To lahko storite s preprostim zagonom ukaza v interaktivni lupini, kot je prikazano spodaj:

$ od appName.modeli uvozi modelName

Tukaj se appName nanaša na ime vaše aplikacije, ki ste jo ustvarili, in s tem, kje so trenutno shranjeni vaši modeli. ModelName se nanaša na ime modela, ki ga želite uvoziti in uporabiti. Tukaj lahko uvozite več modelov, kot je razvidno iz spodnjega primera:

Zdaj lahko dostopate do predmeta modela in berete podatke iz njega. Če želimo na primer seznam vseh objav, jih lahko preprosto dobimo tako, da v naš terminal zaženemo naslednji ukaz:

$ Post.predmetov.vse ()

Rezultat zgornjega ukaza je naslednji:

V ORM lahko naredimo več drugih stvari, kot so ustvarjanje novih podatkovnih podatkov, posodabljanje podatkov in vsi drugi ukazi baze podatkov, ki jih lahko.

Modeliranje zbirke podatkov

Ena najboljših stvari, ki jih Django ORM ponuja svojim uporabnikom, je zmožnost samodejnega povezovanja in vzpostavljanja odnosov med atributi predmeta vašega modela in ustreznimi polji tabele. V podatkovnih zbirkah obstajajo predvsem tri vrste odnosov. to so razmerja ena-na-ena, razmerja ena-na-več ali več-na-ena in razmerja med številnimi.

Razmerje ena na ena je, kot že ime pove, kjer zapis ene tabele ustreza enemu zapisu druge tabele. V Django ORM lahko to enostavno ugotovimo, kot sledi:

razred Starš (modeli.Model):
uporabnik = modeli.OneToOneField (
Uporabnik,
on_delete = modeli.KASKADA,
primary_key = True,
)
ime_očeta = modeli.CharField (max_length = 100)
ime_matere = modeli.CharField (max_length = 100)

Tu ima lahko vsak uporabnik samo biološke starše, zato gre za odnos ena na ena. Zdaj, če izbrišemo katerega koli uporabnika, ki dostopa do tega modela, bo tudi model 2nd uporabnika, saj sta odvisna drug od drugega.

En-to-many ali many-to-one se nanaša na razmerje, pri katerem ima starševski zapis več podrejenih zapisov, lahko pa ima tudi samo enega ali nobenega otroka. V Django ORM lahko to razmerje enostavno vzpostavimo z uporabo Tuji ključ polje:

razred Stranka (modeli.Model):
ime = modeli.CharField (max_length = 255)
razred Vozilo (modeli.Model):
kupec = modeli.Tuji ključ(
Stranka,
on_delete = modeli.KASKADA
)

Kot je razvidno iz zgornje kode, ima lahko stranka več vozil.

Nazadnje, razmerja med številnimi in številnimi definirajo razmerje, pri katerem se lahko več tabel poveže med seboj. To lahko ustvarimo s pomočjo ManyToMany polje. V spodnjem primeru smo ustvarili dva modela, enega za uporabnika in drugega za njegove objave. Uporabnikov je lahko tudi več, saj ima lahko vsak uporabnik več objav.

razred Uporabnik (modeli.Model):
post = modeli.ManyToManyField (Objava, prazno = True)
prijatelji = modeli.ManyToManyField (nastavitve.AUTH_USER_MODEL, prazno = True)
razred Post (modeli.Model):
post = modeli.TextField ()
všečki = modeli.ManyToManyField (nastavitve.AUTH_USER_MODEL, blank = True, related_name = 'user_likes')

Zaključek

Django ORM je izjemno zmogljivo orodje in je zelo olajšal delo spletnih razvijalcev. Ima različne funkcije, kot so manipulacija z modeli baz podatkov, vzpostavljanje odnosa med modeli in še veliko več. Na kratko je Django ORM ena najboljših stvari, ki prihaja z Django in je zelo učinkovita pri delu, ki mu je zagotovljeno.

Namestite najnovejši Dolphin Emulator za Gamecube & Wii v Linux
Dolphin Emulator vam omogoča igranje izbranih iger Gamecube in Wii na osebnih računalnikih Linux (PC). Dolphin Emulator je prosto dostopen in odprtok...
Kako uporabljati GameConqueror Cheat Engine v Linuxu
Članek zajema vodnik o uporabi varalnice GameConqueror v Linuxu. Številni uporabniki, ki igrajo igre v sistemu Windows, pogosto uporabljajo aplikacijo...
Najboljši emulatorji igralne konzole za Linux
V tem članku bo navedena priljubljena programska oprema za emulacijo igralne konzole, ki je na voljo za Linux. Emulacija je sloj združljivosti program...