Django - duomenų bazė

Turinys
Nustačius modelį ir viską, kas su juo susiję, kitas aspektas, į kurį reikia atsižvelgti, yra tai, kaip skirtingi laukai sąveikauja su duomenų baze.
Kalbėdami apie duomenų bazės elgseną, mes kalbame apie tai, kaip turime matyti, kaip duomenys yra paruošti saugoti, kaip mes lyginame su duomenų tipais. Python su kuriomis jų vertybės pateikiamos mūsų programoje Django.
db_type (savarankiškas, ryšys)
Šis metodas retai pakeičiamas programų klasėmis ir poklasiais, jis grąžina eilutę, kurioje yra konkrečių duomenų bazės duomenų, valdančių tam tikrų laukų stulpelių kūrimą.
Svarbu paminėti, kad šiuo metodu grąžinama vertė yra ypatinga backend programoje naudojama duomenų bazė, taigi, jei nuspręsime ją naudoti projektuose su skirtingomis duomenų bazių programomis, turime gauti ryšio vertę naudodami connection.settings_dict ['ENGINE']
Toliau pateiktame paveikslėlyje pažiūrėkime, kaip galime išversti į kodą pagrindinį šio metodo naudojimą:

Analizuodami kodą matome, kad jei duomenų bazės variklis yra postgreSQL mes grąžinsime lauko vertę, skirtingą nuo to, jei tai yra kitas variklis, pvz MySQL, todėl galime pamatyti nedidelį šio metodo naudingumo pavyzdį.
get_prep_value (save, vertę)
Tai metodas, kuriuo grindžiami kiti metodai, kurie turi paruošti duomenis naudoti duomenų bazei.
Daugeliu atvejų konvertavimas python objektai į paprastesnius duomenis, kuriuos galima perkelti į duomenų bazę, nėra didelė problema ir mes galime naudoti standartinę konversiją, tačiau kai norime atlikti sudėtingesnes konversijas, pvz., datos tipą, galime naudoti šį metodą tam darbui pasirūpinti, tolesnėje grafikoje mes turime būdą tai pasiekti, kaip aprašėme.

Pavyzdyje apibrėžiant lauko tipą Trukmė mes perrašome metodą get_prep_value () kad jis paimtų datos objektą ir paverstų jį dešimtainėmis reikšmėmis, kad galėtų jį naudoti duomenų bazėje be papildomų komplikacijų.
get_db_prep_value (savastis, vertė, ryšys, paruošta = klaidinga)
Yra atvejų, kai mūsų programa veikia daugiau nei viename duomenų bazės variklyje, todėl šis metodas leidžia mums paruošti duomenis pagal variklį, nes connection.settings_dict ['ENGINE'] Mes galime įtraukti skirtingus atvejus, priklausomai nuo variklio.
Pavyzdžiui, kai mes dirbame su „postgreSQL“, šis variklis gali tiesiogiai valdyti datos objektus, taigi, jei aptiksime, kad tai yra, mes galime tiesiogiai perduoti vertę, toliau pateiktame pavyzdyje pažiūrėkime, kaip deriname šį metodą su ankstesniu pasiekti tvirtesnį rezultatą:

Tuo baigiame vadovėlį, žinodami, kad galime kontroliuoti duomenų bazės veikimą Django naudojant modelio laukų duomenų rengimo metodus.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką
wave wave wave wave wave