Pytonorm

Vad är Django ORM?

Vad är Django ORM?
I dagens värld har tekniken blivit en integrerad del av våra liv när allting omkring oss har digitaliserats. Detta gäller även i näringslivet. Företag som misslyckas med att använda rätt infrastruktur och som inte kan utrusta rätt teknisk arkitektur hamnar bakom sina konkurrenter. Detta beror främst på att nuförtiden har mängden data som företag och organisationer litar på för sin analys ökat exponentiellt och som ett resultat måste de ha rätt uppsättning för att de ska kunna bearbeta och tolka det på ett effektivt sätt. verktyg och infrastruktur för att stödja dem.

Databaser är en av de mest populära teknikerna som används för insamling och organisering av data, eftersom det gör att informationen också är lättillgänglig, hanterbar och uppdaterad. Dessa databaser kräver dock ett hanteringssystem för att de ska kunna utföra dessa uppgifter. För det mesta används språket SQL för att utföra operationer i en databas, men när din applikation växer och blir mer komplex blir det extremt svårt att ha en uppfattning om vad exakt varje operation gör. Det är här tekniken Object Relational Mapping (ORM) kommer in i bilden. Detta gör det möjligt att fråga och manipulera data med ett objektorienterat programmeringsspråk som du väljer. ORM minskar komplexiteten i din kod och gör den mer förståelig, vilket i sin tur gör det lättare att uppdatera, underhålla och återanvända koden.

I den här artikeln kommer vi att ta en titt på Django ORM, som är en Python-baserad ORM och därför en av de mest populära teknikerna som används idag.

Vad är Django?

Innan vi går vidare till att titta på ORM för Django, låt oss först se vad denna Pythonic-teknik som kallas Django egentligen är.

Django är en gratis och öppen källkod webbram utformad i Python, och har därför en mycket ren och snygg design tillsammans med att den är enkel, flexibel, pålitlig och skalbar. Det gör det extremt enkelt för webbutvecklare eftersom det ger användarna färdiga komponenter som i sin tur hindrar dem från att skriva allt från grunden och som ett resultat gör deras arbete snabbare och minskar omkostnaderna på deras webbplats. Utöver detta är det extremt säkert och hjälper användare att undvika säkerhetsproblem som UI-korrigeringsattacker, SQL-injektioner och så vidare. Det har också ett extremt stort samhälle som alltid är tillgängligt via forum och alltid redo att erbjuda sin hjälp till andra.

Låt oss nu äntligen titta på Django ORM och några av dess huvudfunktioner.

Åtkomst till Django ORM

Efter att ha installerat Django och konfigurerat projektet får vi vanligtvis följande initiala filer:

mysite här hänvisar till namnet på det projekt du skapade. Alla dessa filer har sina egna användningsområden och det är viktigt att man behöver veta vilken roll varje fil spelar. Vårt fokus här kommer att vara på chefen.py-fil som kommer att kontrollera många olika saker för oss, som att ställa in en server, göra migreringar, kommunicera med en databas, samt gå in i ORM-läge.

För att öppna Django ORM, öppna en kommandorad från Django-projektets huvudkatalog och kör följande kommando:

$ python hantera.py skal

Detta öppnar ett interaktivt skal för oss som gör att vi kan börja interagera med databasen med hjälp av ORM.

Manipulera databas med frågor i Django ORM

Eftersom ORM tillåter oss att interagera med databasen kan vi nu skriva olika frågor för att hämta och manipulera data från databasen. Innan vi kan börja arbeta med databasen i skalet måste vi dock först importera alla modeller som är associerade med den. Detta kan göras genom att helt enkelt köra ett kommando i det interaktiva skalet, som visas nedan:

$ från appName.modeller importerar modellnamn

Härifrån hänvisar appName till namnet på din app som du har skapat och därmed var dina modeller lagras för närvarande. ModelName hänvisar till namnet på den modell som du vill importera och använda. Du kan få flera modeller importerade här, som visas i exemplet nedan:

Nu kan du komma åt modellobjektet och läsa data från det. Om vi ​​till exempel vill ha en lista över alla inlägg kan vi helt enkelt hämta dem genom att köra följande kommando i vår terminal:

$ Post.föremål.Allt()

Följande är resultatet av ovanstående kommando:

Vi kan göra flera andra saker i ORM som att skapa nya databasdata, uppdatera data och alla andra databaskommandon som du kan.

Databasmodellering

En av de bästa sakerna som Django ORM ger sina användare är möjligheten att automatiskt länka och skapa relationer mellan attributen för din modellobjekt och motsvarande tabellfält. I databaser finns huvudsakligen tre typer av relationer. det här är förhållandet mellan en, en-till-många eller många-till-en-förhållandet, och de många-till-många-förhållandena.

En en-till-en-relation är, som namnet antyder, där posten för en tabell motsvarar en enda post för en annan tabell. I Django ORM kan vi enkelt fastställa detta på följande sätt:

klass Förälder (modeller.Modell):
användare = modeller.OneToOneField (
Användare,
on_delete = modeller.KASKAD,
primary_key = True,
)
name_of_father = modeller.CharField (max_length = 100)
namn_mor = modeller.CharField (max_length = 100)

Härifrån kan varje användare bara ha ensamstående biologiska föräldrar, och därför är det en en-till-en-relation. Om vi ​​tar bort någon användare som har åtkomst till den här modellen kommer den också att ta bort modellen för 2nd användare eftersom de är beroende av varandra.

En-till-många eller många-till-en hänvisar till ett förhållande där en föräldrarekord kan ha flera underordnade poster, men den kan bara ha ett eller inget barn också. I Django ORM kan vi enkelt skapa detta förhållande med hjälp av Främmande nyckel fält:

klass Kund (modeller.Modell):
namn = modeller.CharField (max_length = 255)
klass Fordon (modeller.Modell):
kund = modeller.Främmande nyckel(
Kund,
on_delete = modeller.KASKAD
)

Som framgår av ovanstående kod kan en kund ha flera fordon.

Slutligen definierar många-till-många-förhållanden en relation där flera tabeller kan relatera till varandra. Vi kan skapa detta med hjälp av Många fält. I exemplet nedan har vi skapat två modeller, en för användaren och den andra för deras inlägg. Det kan också finnas flera användare eftersom varje användare kan ha flera inlägg.

klass Användare (modeller.Modell):
post = modeller.ManyToManyField (Post, blank = True)
vänner = modeller.ManyToManyField (inställningar.AUTH_USER_MODEL, blank = True)
klass Post (modeller.Modell):
post = modeller.Textfält()
gillar = modeller.ManyToManyField (inställningar.AUTH_USER_MODEL, blank = True, related_name = 'user_likes')

Slutsats

Django ORM är ett extremt kraftfullt verktyg och har gjort webbutvecklarnas arbete så mycket lättare. Den har en mängd funktioner som manipulering av databasmodeller, etablering av en relation mellan modellerna och så mycket mer. I ett nötskal är Django ORM en av de bästa sakerna som kommer med Django och är mycket effektiv på jobbet som den får.

Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...
Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...