Django - Baza podataka

Sadržaj
Nakon što se model i sve što je s njim uspostavljeno, sljedeći aspekt koji treba uzeti u obzir je kako različita polja stupaju u interakciju s bazom podataka.
Kada govorimo o ponašanju baze podataka, mislimo na način na koji moramo vidjeti kako su podaci pripremljeni za pohranu, na način na koji uspoređujemo s vrstama podataka Piton s kojima su njihove vrijednosti predstavljene u našoj prijavi u Django.
db_type (self, veza)
Ovu metodu rijetko nadjačavaju aplikacijske klase i podklase, ona vraća niz koji sadrži određene podatke baze podataka koji kontroliraju način stvaranja stupaca određenih polja.
Važno je napomenuti da je vrijednost vraćena ovom metodom posebna za pozadina baze podataka koja se koristi u aplikaciji, pa ako je odlučimo koristiti u projektima s različitim pozadinama baze podataka, vrijednost veze moramo dobiti pomoću connection.settings_dict ['MOTOR']
Pogledajmo na sljedećoj slici kako možemo prevesti u kôd osnovnu uporabu ove metode:

Prilikom analize koda vidimo da ako je motor baze podataka postgreSQL vratit ćemo vrijednost polja, različitu od ako se radi o nekom drugom motoru, npr MySQL, pa možemo vidjeti mali primjer korisnosti ove metode.
get_prep_value (sebe, vrijednost)
Ovo je metoda koja služi kao osnova za druge metode koje moraju pripremiti podatke za uporabu u bazi podataka.
U većini slučajeva pretvaranje python objekti jednostavnijim podacima koji se mogu prenijeti u bazu podataka ne predstavlja veliki problem i možemo se koristiti standardnom pretvorbom, no kada želimo izvršiti složenije pretvorbe, poput vrste datuma, možemo koristiti ovu metodu kako bismo se pobrinuli za taj posao, na sljedećoj slici imamo način da to postignemo kako smo opisali.

U primjeru pri definiranju vrste polja DurationField prepisujemo metodu get_prep_value () tako da uzima objekt datuma i pretvara ga u decimalne vrijednosti kako bi ga mogao koristiti u bazi podataka bez daljnjih komplikacija.
get_db_prep_value (ja, vrijednost, veza, pripremljeno = Netačno)
Postoje slučajevi u kojima se naša aplikacija izvodi u više od jednog mehanizma baze podataka, jer nam ova metoda omogućuje da pripremimo podatke na temelju stroja, zahvaljujući connection.settings_dict ['MOTOR'] možemo ugraditi različite slučajeve ovisno o motoru.
Primjer je kada radimo s postgreSQL -om, ovaj mehanizam može izravno rukovati objektima datuma, pa ako otkrijemo da je to to, možemo izravno proslijediti vrijednost, da vidimo u donjem primjeru kako kombiniramo ovu metodu i prethodnu kako bismo postići robusniji rezultat:

Ovime završavamo vodič, znajući da možemo kontrolirati ponašanje baze podataka u Django pomoću metoda pripreme podataka o poljima modela.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave