Python

Hvad er Django ORM?

Hvad er Django ORM?
I dagens verden er teknologien blevet en integreret del af vores liv, da alt omkring os er blevet digitaliseret. Dette gælder også selv i erhvervssektoren. Virksomheder, der ikke bruger den rigtige infrastruktur og ikke er i stand til at udstyre den rigtige teknologiske arkitektur, ender med at falde bagefter deres konkurrenter. Dette skyldes hovedsageligt, at mængden af ​​data, som virksomheder og organisationer stoler på i deres analyse, i dag er vokset eksponentielt, og at de derfor skal have det rigtige sæt for at de skal kunne behandle og fortolke det på en effektiv måde. af værktøjer og infrastruktur til støtte for dem.

Databaser er en af ​​de mest populære teknologier, der bruges til indsamling og organisering af data, da det gør det muligt for dataene også at være let tilgængelige, håndterbare og opdaterede. Disse databaser kræver dog et styringssystem for dem til at udføre disse opgaver. For det meste bruges sproget SQL til at udføre operationer i en database, men når din applikation vokser og bliver mere kompleks, bliver det ekstremt svært at have en idé om, hvad hver operation præcist laver. Det er her teknikken Object Relational Mapping (ORM) kommer ind i billedet. Dette muliggør forespørgsel og manipulation af dataene ved hjælp af et objektorienteret programmeringssprog efter eget valg. ORM'er reducerer kompleksiteten af ​​din kode og gør den mere forståelig, hvilket igen gør det lettere at opdatere, vedligeholde og genbruge koden.

I denne artikel vil vi se på Django ORM, som er en Python-baseret ORM og derfor en af ​​de mest populære teknologier, der bruges i disse dage.

Hvad er Django?

Før vi går videre til at se på ORMO af Django, lad os først se, hvad egentlig denne Pythonic-teknologi kaldet Django er.

Django er en gratis og open source-webramme designet i Python og har derfor et meget rent og pænt design sammen med at det er simpelt, fleksibelt, pålideligt og skalerbart. Det gør tingene ekstremt lette for webudviklere, da det giver brugerne færdige komponenter, som igen forhindrer dem i at skrive alt fra bunden og som et resultat gør deres arbejde hurtigere og reducerer omkostningerne på deres hjemmeside. Ud over dette er det ekstremt sikkert og hjælper brugerne med at undgå sikkerhedsproblemer såsom UI-klageangreb, SQL-injektioner og så videre. Det har også et ekstremt stort samfund, der altid er tilgængeligt gennem fora og altid klar til at tilbyde sin hjælp til andre.

Lad os nu endelig se på Django ORM og nogle af dens hovedfunktioner.

Adgang til Django ORM

Efter installation af Django og opsætning af sit projekt forsynes vi som regel med følgende indledende filer:

mysite her henviser til navnet på det projekt, du oprettede. Alle disse filer har deres egne anvendelser, og det er vigtigt, at man skal vide, hvilken rolle hver fil spiller. Vores fokus herover vil være på ledelsen.py-fil, der vil kontrollere mange forskellige ting for os, såsom at oprette en server, foretage migrationer, kommunikere med en database samt gå ind i ORM-tilstand.

For at åbne Django ORM skal du åbne en kommandolinje fra hovedmappen til dit Django-projekt og køre følgende kommando:

$ python administrere.py skal

Dette åbner en interaktiv skal for os, som giver os mulighed for at begynde at interagere med databasen ved hjælp af ORM.

Manipulering af database ved hjælp af forespørgsler i Django ORM

Da ORM giver os mulighed for at interagere med databasen, kan vi nu skrive forskellige forespørgsler for at hente og manipulere dataene fra databasen. Før vi dog kan begynde at arbejde på databasen i skallen, skal vi først importere alle de modeller, der er knyttet til den. Dette kan gøres ved blot at køre en kommando i den interaktive skal, som vist nedenfor:

$ fra appName.modeller importerer modelnavn

Herovre henviser appnavnet til navnet på din app, som du har oprettet, og hvor dine modeller i øjeblikket er gemt. Modelnavn henviser til navnet på den model, du vil importere og bruge. Du kan få importeret flere modeller herover, som det ses i eksemplet nedenfor:

Nu kan du få adgang til modelobjektet og læse data fra det. For eksempel, hvis vi vil have en liste over alle indlæg, kan vi ganske enkelt få dem ved at køre følgende kommando i vores terminal:

$ Post.genstande.alle()

Følgende er resultatet af ovenstående kommando:

Vi kan lave flere andre slags ting i ORM som at oprette nye databasedata, opdatere dataene og alle de andre databasekommandoer, som du kan.

Databasemodellering

En af de bedste ting, som Django ORM giver sine brugere, er muligheden for automatisk at linke og etablere relationer mellem attributterne til din modelobjekt og de tilsvarende tabelfelter. I databaser findes der hovedsagelig tre typer relationer. disse er forholdet mellem én, en-til-mange eller mange-til-en-forholdet og forholdet mellem mange og mange.

Et forhold mellem én og én er, som navnet antyder, hvor registreringen af ​​en tabel svarer til en enkelt registrering af en anden tabel. I Django ORM kan vi nemt etablere dette som følger:

klasse Forældre (modeller.Model):
bruger = modeller.OneToOneField (
Bruger,
on_delete = modeller.CASCADE,
primary_key = Sand,
)
name_of_father = modeller.CharField (max_length = 100)
name_of_mother = modeller.CharField (max_length = 100)

Herovre kan hver bruger kun have enlige biologiske forældre, og det er derfor et en-til-en forhold. Hvis vi nu sletter en bruger, der har adgang til denne model, sletter den også modellen til 2nd bruger, da de er afhængige af hinanden.

En-til-mange eller mange-til-en henviser til et forhold, hvor en forældreoptegnelse kan have flere underordnede optegnelser, men den kan kun have et eller intet barn også. I Django ORM kan vi let etablere dette forhold ved hjælp af Fremmed nøgle Mark:

klasse kunde (modeller.Model):
navn = modeller.CharField (max_length = 255)
klasse køretøj (modeller.Model):
kunde = modeller.Fremmed nøgle(
Kunde,
on_delete = modeller.CASCADE
)

Som det ses i ovenstående kode, kan en kunde have flere køretøjer.

Endelig definerer mange-til-mange-forhold et forhold, hvor flere tabeller kan relateres til hinanden. Vi kan oprette dette ved hjælp af MangeToMany Mark. I eksemplet nedenfor har vi oprettet to modeller, den ene til brugeren og den anden til deres indlæg. Der kan også være flere brugere, da hver bruger kan have flere indlæg.

klasse Bruger (modeller.Model):
post = modeller.ManyToManyField (Post, blank = True)
venner = modeller.ManyToManyField (indstillinger.AUTH_USER_MODEL, blank = sand)
klasse Post (modeller.Model):
post = modeller.Tekstfelt()
kan lide = modeller.ManyToManyField (indstillinger.AUTH_USER_MODEL, blank = True, related_name = 'user_likes')

Konklusion

Django ORM er et ekstremt kraftfuldt værktøj og har gjort webudvikleres arbejde så meget lettere. Det har en række funktioner såsom manipulation af databasemodeller, etablering af et forhold mellem modellerne og meget mere. I en nøddeskal er Django ORM en af ​​de bedste ting, der følger med Django og er yderst effektiv til det job, der leveres til det.

Bedste spilkonsolemulatorer til Linux
Denne artikel viser en liste over populære spilkonsolemuleringssoftware, der er tilgængelig til Linux. Emulation er et softwarekompatibilitetslag, der...
Bedste Linux Distros til spil i 2021
Linux-operativsystemet er kommet langt fra dets originale, enkle, serverbaserede udseende. Dette operativsystem er forbedret enormt i de senere år og ...
Sådan registreres og streames din gaming-session på Linux
Tidligere blev spil kun betragtet som en hobby, men med tiden oplevede spilindustrien en enorm vækst med hensyn til teknologi og antallet af spillere....