Django - datu bāze

Satura rādītājs
Kad modelis un viss ar to saistītais ir izveidots, nākamais aspekts, kas jāņem vērā, ir tas, kā dažādi lauki mijiedarbojas ar datu bāzi.
Runājot par datu bāzes darbību, mēs atsaucamies uz veidu, kādā mums jāredz, kā dati ir sagatavoti uzglabāšanai, kā mēs salīdzinām ar datu veidiem Python ar kuru viņu vērtības ir attēlotas mūsu pieteikumā Django.
db_type (pats, savienojums)
Šo metodi reti ignorē lietojumprogrammu klases un apakšklases, tā atgriež virkni, kas satur konkrētus datu bāzes datus, kas kontrolē noteiktu lauku kolonnu izveidi.
Ir svarīgi pieminēt, ka ar šo metodi atdotā vērtība ir raksturīga tikai aizmugure lietojumprogrammā izmantotā datu bāze, tādēļ, ja mēs nolemjam to izmantot projektos ar atšķirīgu datu bāzes aizmuguri, mums ir jāiegūst savienojuma vērtība, izmantojot connection.settings_dict ['ENGINE']
Tālāk redzamajā attēlā redzēsim, kā mēs varam tulkot kodā šīs metodes pamata lietojumu:

Analizējot kodu, mēs redzam, ka, ja datu bāzes dzinējs ir postgreSQL mēs atgriezīsim lauka vērtību, kas atšķiras no tā, ja tas ir cits dzinējs, piemēram MySQL, tāpēc mēs varam redzēt nelielu šīs metodes lietderības piemēru.
get_prep_value (self, vērtība)
Šī ir metode, kas kalpo par pamatu citām metodēm, kurām jāsagatavo dati izmantošanai datu bāzē.
Vairumā gadījumu konvertēšana pitona objekti uz vienkāršākiem datiem, kurus var pārsūtīt uz datu bāzi, nav liela problēma, un mēs varam izmantot standarta reklāmguvumu, tomēr, ja vēlamies veikt sarežģītākus reklāmguvumus, piemēram, datuma veidu, mēs varam izmantot šo metodi, lai rūpētos par šo darbu, nākamajā grafikā mums ir veids, kā to sasniegt, ko mēs aprakstījām.

Piemērā, definējot lauka tipu Laiks Lauks mēs pārrakstām metodi get_prep_value () lai tas paņemtu datuma objektu un pārvērstu to decimāldaļās, lai varētu to izmantot datu bāzē bez papildu sarežģījumiem.
get_db_prep_value (self, vērtība, savienojums, sagatavots = False)
Ir gadījumi, kad mūsu lietojumprogramma darbojas vairākos datu bāzes dzinējos, tāpēc šī metode ļauj mums sagatavot datus, pamatojoties uz dzinēju, pateicoties connection.settings_dict ['ENGINE'] mēs varam iekļaut dažādus gadījumus atkarībā no dzinēja.
Piemērs ir tad, kad mēs strādājam ar postgreSQL, šis dzinējs var tieši apstrādāt datuma objektus, tādēļ, ja mēs atklāsim, ka tas tā ir, mēs varam tieši nodot vērtību. Tālāk redzamajā piemērā redzēsim, kā mēs apvienojam šo metodi ar iepriekšējo sasniegt stabilāku rezultātu:

Ar to mēs pabeidzam apmācību, zinot, ka varam kontrolēt datu bāzes darbību Django izmantojot modeļa lauku datu sagatavošanas metodes.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu
wave wave wave wave wave