Piton

Ce este Django ORM?

Ce este Django ORM?
În lumea de astăzi, tehnologia a devenit o parte integrantă a vieții noastre, deoarece tot ceea ce ne înconjoară a devenit digitalizat. Acest lucru este valabil și în sectorul afacerilor. Companiile care nu reușesc să utilizeze infrastructura potrivită și nu sunt capabile să echipeze arhitectura tehnologică potrivită ajung să rămână în urma concurenților lor. Acest lucru se datorează în principal faptului că, în zilele noastre, cantitatea de date pe care se bazează întreprinderile și organizațiile pentru analiza lor a crescut exponențial și, ca urmare, pentru a le putea procesa și interpreta într-un mod eficient, trebuie să aibă setul corect de instrumente și infrastructură pentru a le sprijini.

Bazele de date sunt una dintre cele mai populare tehnologii utilizate pentru colectarea și organizarea datelor, deoarece acestea permit accesul ușor, gestionarea și actualizarea datelor. Cu toate acestea, aceste baze de date necesită un sistem de gestionare pentru a îndeplini aceste sarcini. În cea mai mare parte, limbajul SQL este utilizat pentru a efectua operațiuni într-o bază de date, totuși, pe măsură ce aplicația dvs. crește și devine mai complexă, devine extrem de dificil să aveți o idee despre ce face exact fiecare operație. Aici intră în imagine tehnica Cartării relaționale a obiectelor (ORM). Aceasta permite interogarea și manipularea datelor folosind un limbaj de programare orientat pe obiecte la alegere. ORM-urile reduc complexitatea codului dvs. și îl fac mai ușor de înțeles, ceea ce, la rândul său, facilitează actualizarea, întreținerea și refolosirea codului.

În acest articol, vom arunca o privire asupra Django ORM, care este un ORM bazat pe Python și, prin urmare, una dintre cele mai populare tehnologii utilizate în aceste zile.

Ce este Django?

Înainte să trecem la ORM-ul lui Django, să vedem mai întâi ce este de fapt această tehnologie pitonică numită Django.

Django este un cadru web gratuit și open-source proiectat în Python și, prin urmare, are un design foarte curat și îngrijit, împreună cu faptul că este simplu, flexibil, fiabil și scalabil. Face lucrurile extrem de ușoare pentru dezvoltatorii web, deoarece oferă utilizatorilor componente gata făcute, care, la rândul lor, îi împiedică să scrie totul de la zero și, ca urmare, le face munca mai rapidă și reduce cheltuielile generale de pe site-ul lor web. În plus, este extrem de sigur și ajută utilizatorii să evite problemele de securitate, cum ar fi atacurile de reparare a interfeței de utilizare, injecțiile SQL etc. De asemenea, are o comunitate extrem de mare, care este întotdeauna accesibilă prin intermediul forumurilor și întotdeauna gata să-și ofere ajutorul altora.

Să ne uităm acum în cele din urmă la Django ORM și câteva dintre principalele sale caracteristici.

Accesarea ORM-ului Django

După instalarea Django și configurarea proiectului său, de obicei ni se oferă următoarele fișiere inițiale:

site-ul meu aici se referă la numele proiectului pe care l-ați creat. Toate aceste fișiere au propriile lor utilizări și este important să știm ce rol joacă fiecare fișier. Accentul nostru de aici va fi asupra managementului.fi care va controla o mulțime de lucruri diferite pentru noi, cum ar fi configurarea unui server, efectuarea de migrații, comunicarea cu o bază de date, precum și intrarea în modul ORM.

Pentru a deschide Django ORM, deschideți o linie de comandă din directorul principal al proiectului dvs. Django și rulați următoarea comandă:

$ python gestionează.coajă py

Aceasta ne va deschide un shell interactiv, care ne va permite să începem să interacționăm cu baza de date folosind ORM.

Manipularea bazei de date folosind interogări în Django ORM

Deoarece ORM ne permite să interacționăm cu baza de date, putem scrie acum interogări diferite pentru a prelua și manipula datele din baza de date. Cu toate acestea, înainte de a începe să lucrăm la baza de date din shell, trebuie mai întâi să importăm toate modelele asociate cu aceasta. Acest lucru se poate face prin simpla executare a unei comenzi în shell-ul interactiv, așa cum se arată mai jos:

$ din appName.modele import modelName

Aici, appName se referă la numele aplicației pe care ați creat-o și, prin urmare, unde sunt stocate în prezent modelele dvs. ModelName se referă la numele modelului pe care doriți să îl importați și să îl utilizați. Puteți avea mai multe modele importate aici, așa cum se vede în exemplul de mai jos:

Acum, puteți accesa obiectul model și puteți citi datele din acesta. De exemplu, dacă dorim lista tuturor postărilor, le putem obține pur și simplu executând următoarea comandă în terminalul nostru:

$ Post.obiecte.toate()

Următorul este rezultatul comenzii de mai sus:

Putem face alte câteva tipuri de elemente în ORM, cum ar fi crearea de noi baze de date, actualizarea datelor și toate celelalte comenzi ale bazei de date pe care le puteți.

Modelarea bazelor de date

Unul dintre cele mai bune lucruri pe care Django ORM le oferă utilizatorilor săi este abilitatea de a lega automat și de a stabili relații între atributele obiectului modelului dvs. și câmpurile de tabel corespunzătoare. În bazele de date, există în principal trei tipuri de relații. acestea sunt relația One-to-One, relația One-to-Many sau Many-to-One și relațiile Many-to-Many.

O relație One-to-One este, așa cum sugerează și numele, unde înregistrarea unui tabel corespunde unei singure înregistrări a unui alt tabel. În Django ORM, putem stabili cu ușurință acest lucru, după cum urmează:

clasa Parent (modele.Model):
utilizator = modele.OneToOneField (
Utilizator,
on_delete = modele.CASCADĂ,
cheie_primară = Adevărat,
)
name_of_father = modele.CharField (max_length = 100)
nume_mama = modele.CharField (max_length = 100)

Aici, fiecare utilizator poate avea părinți biologici singuri și, prin urmare, este o relație de la unu la unu. Acum, dacă ștergem orice utilizator care accesează acest model, acesta va șterge și modelul celor 2nd utilizator, deoarece sunt dependenți unul de celălalt.

Unul-la-mulți sau mulți-la-unu se referă la o relație în care o înregistrare părinte poate avea mai multe înregistrări copil, cu toate acestea, poate avea doar unul sau niciun copil. În Django ORM, putem stabili cu ușurință această relație folosind Cheie externă camp:

clasa Client (modele.Model):
nume = modele.CharField (max_length = 255)
clasa Vehicul (modele.Model):
client = modele.Cheie externă(
Client,
on_delete = modele.CASCADĂ
)

După cum se vede în codul de mai sus, un client poate avea mai multe vehicule.

În cele din urmă, o relație de la mai mulți la mulți definește o relație în care mai multe tabele se pot lega între ele. Putem crea acest lucru folosind ManyToMany camp. În exemplul de mai jos, am creat două modele, unul pentru utilizator și celălalt pentru postările acestora. Pot fi și mai mulți utilizatori, deoarece fiecare utilizator poate avea mai multe postări.

clasă Utilizator (modele.Model):
post = modele.ManyToManyField (Post, gol = Adevărat)
prieteni = modele.ManyToManyField (setări.AUTH_USER_MODEL, gol = Adevărat)
clasa Post (modele.Model):
post = modele.TextField ()
like-uri = modele.ManyToManyField (setări.AUTH_USER_MODEL, necompletat = Adevărat, related_name = 'user_likes')

Concluzie

Django ORM este un instrument extrem de puternic și a ușurat mult munca dezvoltatorilor de web. Are o varietate de caracteristici, cum ar fi manipularea modelelor de baze de date, stabilirea unei relații între modele și multe altele. Pe scurt, Django ORM este unul dintre cele mai bune lucruri care vine cu Django și este extrem de eficient la locul de muncă oferit acestuia.

SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...