Sådan forstå Django-modeller på den enkle måde

Har du nogensinde prøvet at lære modeller ved at gå gennem Django Docs? Har du forladt med svar eller med endnu flere spørgsmål?

Personligt begyndte jeg at tvivle på, om programmering virkelig var for mig.

Jeg skrev dette indlæg for at hjælpe dig med at forstå Django-modeller, så du kan udføre basale handlinger med dem. Modeller er en fremragende måde at arbejde med data på.

Sig, at vi vil holde styr på vores fantastiske katte. Vi kunne oprette en Cat-model - men hvad er en model alligevel?

Det viser sig, at en model er slags tre ting i én:

Lad os gå gennem hver blok.

Tabel med katte i databasen

Vi har oprettet en klasse (= en model) ved navn Cat.

Når vi tilføjer kolonner, skal vi fortælle Django, hvilken type data der vil være i hver af dem. Det kan være streng, cifre eller boolsk, blandt andre.

I dette tilfælde skal kattens navn være i tekst - dette er en CharField i Django. Glem ikke at indstille den maksimale længde for dette felt, fordi databasen skal kende det. Kattens vægt i gram er et heltal - så vi bruger et heltalFelt. Bare en note: id-kolonnen genereres automatisk.

Endelig gør null det muligt at lade en kolonne være tom. For eksempel ved vi måske ikke vægten. Bemærk, at ethvert felt kan markeres som null.

Med det sidste præg udbreder vi ændringer (som at oprette en model eller tilføje en kolonne) i vores databaseskema. Til det bruger vi python manage.py makemigrationer og derefter migrerer python manage.py. Det er vigtigt at gøre dette, hver gang du ændrer noget i modellerne.

Nu har vi en tabel, men vi har ikke noget inde i det. Lad os ordne det.

Operationer med alle katte

Oprettelse af en post

Funktionen Create () hjælper os med at oprette nogle rækker. Vi har bare brug for at videregive alle de rene detaljer til det.

At finde en bestemt

Hvis du vil hente kattens FBI-fil - meow-xcuse mig, mener jeg katten info - bare brug get () -funktionen med en af ​​katteparametrene. I eksemplet bruger jeg pk, der betyder “primær nøgle.” Oftest ville det være det samme som at bruge id.

get () finder alle rækker, der matcher parametrene og returnerer kun den første.

Find alle poster

Derudover kan du få adgang til alle katte fra databasen ved hjælp af funktionen alle ().

Filtrering

Eller har du brug for katte, der er lettere end 3000g?

En funktion kaldet filter er klar til at hjælpe dig med det.

Vi sender field__lookuptype = 'værdi' ind i det for at filtrere kattene ud.

I eksemplet betyder det "mindre end." Så vægt_g__lt = 3000 betyder "vægt er mindre end 3000 g."

Operationer med en kat

Opdatering

Sidste gang vi vejede Luna, var hun 3200g. Men nu er hendes vægt 3100g. Det er meget let at ændre det.

Vi får bare Luna fra databasen ved hendes navn og ændrer derefter hendes vægt til 3100. Det er så enkelt. Bare en ting - vi er nødt til at kalde. Gemme () når vi er færdig med at ændre.

Sletning ligesom for evigt

Vi kan slette en af ​​vores katte. Vi får katten og kalder funktionen .delete ().

Meget trist. Men det er livet.

Kan du lide denne artikel? Giv mig nogle klapper, så flere ser det. Tak!

Artiklen blev oprindeligt offentliggjort på min blog.

Abonner i slutningen af ​​det originale indlæg for at hente mine nye artikler i din indbakke og lære Django sammen.