Indholdsfortegnelse
Når modellen og alt, der er relateret til den, er etableret, er det næste aspekt, der skal tages i betragtning, hvordan de forskellige felter interagerer med databasen.Når vi taler om databasens adfærd, refererer vi til den måde, hvorpå vi skal se, hvordan dataene er forberedt til at blive lagret, den måde, hvorpå vi kan sammenligne med datatyperne af Python hvormed deres værdier er repræsenteret i vores ansøgning i Django.
db_type (selv, forbindelse)
Denne metode tilsidesættes sjældent af applikationsklasser og underklasser, den returnerer en streng, der indeholder specifikke databasedata, der styrer, hvordan kolonnerne i bestemte felter oprettes.
Det er vigtigt at nævne, at værdien, der returneres med denne metode, er særlig for bagende database, der bruges i applikationen, så hvis vi beslutter os for at bruge den i projekter med forskellige database backends, skal vi opnå værdien af forbindelsen vha. connection.settings_dict ['ENGINE']
Lad os se i det følgende billede, hvordan vi kan oversætte til kode den grundlæggende brug af denne metode:
get_prep_value (selv, værdi)
Dette er en metode, der tjener som grundlag for andre metoder, der skal forberede dataene til brug i databasen.
I de fleste tilfælde konverteringen af python -objekter til enklere data, der kan overføres til databasen, repræsenterer ikke et stort problem, og vi kan bruge standardkonverteringen, men når vi vil lave mere komplekse konverteringer, f.eks. en datotype, kan vi bruge denne metode til at tage sig af det arbejde, i den følgende grafik har vi en måde at opnå dette, som vi har beskrevet.
get_db_prep_value (selv, værdi, forbindelse, forberedt = falsk)
Der er tilfælde, hvor vores applikation kører i mere end én databasemotor, for denne metode giver os mulighed for at forberede data baseret på motoren takket være connection.settings_dict ['ENGINE'] vi kan inkorporere forskellige sager afhængigt af motoren.
Et eksempel er, når vi arbejder med postgreSQL, denne motor kan håndtere datoobjekterne direkte, så hvis vi opdager, at det er det, kan vi videregive værdien direkte, lad os se i eksemplet herunder, hvordan vi kombinerer denne metode og den forrige til opnå et mere robust resultat: