Django - Database

Innholdsfortegnelse
Når modellen og alt som er relatert til den er etablert, er det neste aspektet å ta hensyn til hvordan de forskjellige feltene samhandler med databasen.
Når vi snakker om databasens oppførsel, refererer vi til måten vi må se hvordan dataene er forberedt på å lagres, måten vi gjør sammenligninger med datatypene på Python som deres verdier er representert i vår søknad i Django.
db_type (selv, tilkobling)
Denne metoden blir sjelden overstyrt av applikasjonsklasser og underklasser, den returnerer en streng som inneholder spesifikke databasedata som styrer hvordan kolonnene i bestemte felt opprettes.
Det er viktig å nevne at verdien som returneres med denne metoden er spesiell for baksiden databasen som brukes i programmet, så hvis vi bestemmer oss for å bruke den i prosjekter med forskjellige database backends, må vi få verdien av tilkoblingen ved hjelp av connection.settings_dict ['ENGINE']
La oss se i det følgende bildet hvordan vi kan oversette til kode den grunnleggende bruken av denne metoden:

Når vi analyserer koden ser vi at hvis databasemotoren er postgreSQL vi skal returnere en verdi for feltet, forskjellig fra hvis det er en annen motor som f.eks MySQL, så vi kan se et lite eksempel på nytten av denne metoden.
get_prep_value (selv, verdi)
Dette er en metode som fungerer som grunnlag for andre metoder som må forberede dataene for bruk i databasen.
I de fleste tilfeller konverteringen av python -objekter til enklere data som kan overføres til databasen, representerer ikke et stort problem, og vi kan bruke standardkonverteringen, men når vi ønsker å gjøre mer komplekse konverteringer, for eksempel en datotype, kan vi bruke denne metoden til å ta vare på det arbeidet, i den følgende grafikken har vi en måte å oppnå dette på som vi har beskrevet.

I eksemplet når du definerer en felttype Varighet Field vi overskriver metoden get_prep_value () slik at det tar datoobjektet og forvandler det til desimalverdier for å kunne bruke det i databasen uten ytterligere komplikasjoner.
get_db_prep_value (selv, verdi, tilkobling, forberedt = usant)
Det er tilfeller der applikasjonen vår kjører i mer enn én databasemotor, for denne metoden lar oss forberede data basert på motoren, takket være connection.settings_dict ['ENGINE'] vi kan innlemme forskjellige etuier avhengig av motor.
Et eksempel er når vi jobber med postgreSQL, kan denne motoren håndtere datoobjektene direkte, så hvis vi oppdager at det er det, kan vi sende verdien direkte, la oss se i eksemplet nedenfor hvordan vi kombinerer denne metoden og den forrige til oppnå et mer robust resultat:

Med dette fullfører vi opplæringen, vel vitende om at vi kan kontrollere oppførselen til databasen i Django ved hjelp av metodene for å forberede dataene i feltene til en modell.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave