Python

Čo je Django ORM?

Čo je Django ORM?
V dnešnom svete sa technológia stala neoddeliteľnou súčasťou nášho života, pretože všetko okolo nás sa digitalizovalo. To platí aj v podnikateľskom sektore. Podniky, ktoré nepoužívajú správnu infraštruktúru a nie sú schopné vybaviť správnu technologickú architektúru, nakoniec zaostávajú za konkurenciou. Je to hlavne preto, že v dnešnej dobe množstvo dát, na ktoré sa firmy a organizácie spoliehajú pri svojej analýze, exponenciálne vzrástlo a ako výsledok, aby mohli efektívne a efektívne ich spracovávať a interpretovať, musia mať správne nastavené nástrojov a infraštruktúry na ich podporu.

Databázy sú jednou z najpopulárnejších technológií používaných na zber a organizáciu údajov, pretože umožňujú ľahký prístup, správu a aktualizáciu údajov. Tieto databázy však na vykonávanie týchto úloh vyžadujú systém riadenia. Na vykonávanie operácií v databáze sa väčšinou používa jazyk SQL. Avšak s rastom a zložitosťou vašej aplikácie je nesmierne ťažké mať predstavu o tom, čo presne ktorá operácia robí. To je miesto, kde na scénu prichádza technika Object Relational Mapping (ORM). To umožňuje dopytovanie a manipuláciu s údajmi pomocou objektovo orientovaného programovacieho jazyka podľa vášho výberu. ORM znižujú zložitosť vášho kódu a zvyšujú jeho zrozumiteľnosť, čo zase uľahčuje jeho aktualizáciu, údržbu a opätovné použitie.

V tomto článku sa pozrieme na Django ORM, ktorý je ORM založeným na Pythone a je preto jednou z najpopulárnejších technológií používaných v dnešnej dobe.

Čo je Django?

Predtým, ako sa pozrieme na ORM Djanga, pozrime sa najskôr, čo je vlastne táto pythonická technológia s názvom Django.

Django je bezplatný a otvorený webový rámec navrhnutý v Pythone, a preto má veľmi čistý a čistý dizajn a je jednoduchý, flexibilný, spoľahlivý a škálovateľný. Webovým vývojárom to veľmi uľahčuje, pretože poskytuje používateľom pripravené komponenty, ktoré im naopak bránia v písaní všetkého od začiatku, a vďaka tomu je ich práca rýchlejšia a znižuje sa režijné náklady na ich webových stránkach. Okrem toho je mimoriadne bezpečný a pomáha používateľom vyhnúť sa bezpečnostným problémom, ako sú útoky na nápravu používateľského rozhrania, injekcie SQL atď. Má tiež mimoriadne veľkú komunitu, ktorá je vždy prístupná prostredníctvom fór a je vždy pripravená ponúknuť svoju pomoc ostatným.

Poďme sa teraz konečne pozrieť na Django ORM a niektoré z jeho hlavných funkcií.

Prístup k ORM Django

Po inštalácii Django a nastavení jeho projektu sme zvyčajne vybavení nasledujúcimi počiatočnými súbormi:

mysite over here odkazuje na názov projektu, ktorý ste vytvorili. Všetky tieto súbory majú svoje vlastné použitie a je dôležité, aby ste vedeli, akú rolu každý súbor zohráva. Naše zameranie tu bude na správu.súbor py, ktorý pre nás bude ovládať veľa rôznych vecí, ako je napríklad nastavenie servera, migrácia, komunikácia s databázou, alebo prechod do režimu ORM.

Ak chcete otvoriť Django ORM, otvorte príkazový riadok z hlavného adresára vášho projektu Django a spustite nasledujúci príkaz:

$ python spravovať.py škrupina

Tým sa nám otvorí interaktívny shell, ktorý nám umožní začať interagovať s databázou pomocou ORM.

Manipulácia s databázou pomocou dotazov v Django ORM

Pretože ORM nám umožňuje komunikovať s databázou, môžeme teraz písať rôzne dotazy na načítanie a manipuláciu s údajmi z databázy. Avšak predtým, ako začneme pracovať na databáze v shelli, musíme najskôr importovať všetky modely s ňou spojené. To je možné vykonať jednoduchým spustením príkazu v interaktívnom prostredí, ako je uvedené nižšie:

$ z appName.modely importovať modelName

V tejto časti appName odkazuje na názov vašej aplikácie, ktorú ste vytvorili, a teda na miesto, kde sú momentálne uložené vaše modely. ModelName odkazuje na názov modelu, ktorý chcete importovať a použiť. Tu si môžete nechať importovať viac modelov, ako je vidieť na príklade nižšie:

Teraz máte prístup k objektu modelu a môžete z neho načítať údaje. Napríklad, ak chceme zoznam všetkých príspevkov, môžeme ich jednoducho získať spustením nasledujúceho príkazu do nášho terminálu:

$ Príspevok.predmety.všetko ()

Výsledkom vyššie uvedeného príkazu je:

V ORM môžeme robiť niekoľko ďalších druhov vecí, ako napríklad vytváranie nových údajov databázy, aktualizácia údajov a všetky ďalšie databázové príkazy, ktoré môžete.

Modelovanie databázy

Jednou z najlepších vecí, ktoré Django ORM poskytuje svojim používateľom, je schopnosť automaticky prepájať a vytvárať vzťahy medzi atribútmi objektu vášho modelu a zodpovedajúcimi poľami tabuľky. V databázach existujú hlavne tri typy vzťahov. to sú vzťahy One-to-One, One-to-Many alebo Many-to-One a Many-to-Many Relationship.

Vzťah jedna k jednej je, ako naznačuje názov, kde záznam jednej tabuľky zodpovedá jedinému záznamu inej tabuľky. V Django ORM to môžeme ľahko zariadiť nasledovne:

trieda Rodič (modely.Model):
užívateľ = modely.OneToOneField (
Používateľ,
on_delete = modely.KASKÁDA,
primary_key = Pravda,
)
name_of_father = modely.CharField (max_length = 100)
name_of_mother = models.CharField (max_length = 100)

Tu môže mať každý používateľ iba osamelých biologických rodičov, a preto ide o vzájomný vzťah. Ak teraz odstránime ľubovoľného používateľa, ktorý pristupuje k tomuto modelu, odstráni sa tým aj model dvojkynd používateľa, pretože sú na sebe navzájom závislí.

Konverzia one-to-many alebo many-to-one sa vzťahuje na vzťah, v ktorom môže mať nadradený záznam niekoľko detských záznamov, môže však mať iba jedno alebo žiadne dieťa. V Django ORM môžeme tento vzťah ľahko nadviazať pomocou Cudzí kľúč lúka:

trieda Zákazník (modely.Model):
meno = modely.CharField (max_length = 255)
trieda Vozidlo (modely.Model):
zákazník = modely.Cudzí kľúč(
Zákazník,
on_delete = modely.KASKÁDA
)

Ako je vidieť z vyššie uvedeného kódu, zákazník môže mať viac vozidiel.

Napokon vzťahy typu mnoho proti mnohým definujú vzťah, v ktorom sa môže vzájomne vzťahovať viac tabuliek. Môžeme to vytvoriť pomocou ManyToMany lúka. V príklade nižšie sme vytvorili dva modely, jeden pre používateľa a druhý pre jeho príspevky. Môže existovať aj viac používateľov, pretože každý môže mať viac príspevkov.

trieda Užívateľ (modely.Model):
post = modely.ManyToManyField (príspevok, prázdne = pravda)
priatelia = modelky.ManyToManyField (nastavenia.AUTH_USER_MODEL, blank = True)
trieda Príspevok (modely.Model):
post = modely.Textové pole()
lajky = modely.ManyToManyField (nastavenia.AUTH_USER_MODEL, blank = True, related_name = 'user_likes')

Záver

Django ORM je mimoriadne výkonný nástroj, ktorý webovým vývojárom výrazne uľahčil prácu. Má množstvo funkcií, ako je manipulácia s databázovými modelmi, nadväzovanie vzťahov medzi modelmi a ešte oveľa viac. Stručne povedané, Django ORM je jednou z najlepších vecí, ktoré sú s Djangom dodávané, a je vysoko efektívny pri práci, ktorá mu je poskytovaná.

Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...
Hry Výukový program Shadow of the Tomb Raider pre Linux
Výukový program Shadow of the Tomb Raider pre Linux
Shadow of the Tomb Raider je dvanásty prírastok do série Tomb Raider - franšíza akčných adventúr vytvorená Eidosom Montrealom. Túto hru prijali kritic...
Hry Ako zvýšiť rýchlosť FPS v systéme Linux?
Ako zvýšiť rýchlosť FPS v systéme Linux?
FPS znamená Počet snímok za sekundu. Úlohou FPS je merať snímkovú frekvenciu pri prehrávaní videa alebo herných výkonoch. Jednoducho povedané, počet n...