Cuprins
Odată ce avem o clasă de model, trebuie să o completăm cu diferitele câmpuri pe care vom dori să le gestionăm în cadrul ei, pentru că cu siguranță avem deja definiția noastră despre ce va purta în baza de date, cum ar trebui să se comporte fiecare etc. Apoi, trebuie să exprimăm acest lucru în cererea noastră.Pentru a defini câmpurile avem o clasă Câmpuri gasit in modele, acesta este cel care ne permite să indicăm tipul de câmp care va fi cel pe care îl plasăm în clasa noastră de model.
Definiția fields
Când manipulați modelele, Django se confruntă cu provocarea de localizare și utilizare a câmpurilor definite în modelele menționate, pentru aceasta, când se creează un model și se adaugă diferitele câmpuri, se păstrează o evidență sau o urmă a ordinii în care au fost create, datorită contul de creare a atributelor.
O singura data Django identifică câmpurile, acestea sunt stocate într-o listă din atribut câmpuri care aparține atributului _poartă a clasei modelului generat.
Datorită celor descrise mai sus Django Puteți itera peste lista menționată pentru a putea obține informațiile de care aveți nevoie din diferitele câmpuri, cu aceste informații. Django puteți construi formularele și diferitele rezultate pe care le necesită șabloanele.
Să vedem următorul cod care ne permite să iterăm și să obținem toate câmpurile diferitelor modele ale unui proiect fără a fi nevoie să specificăm un anumit model:
din django.utils.text import capfirst def get_values (instance): pentru câmpul în instance._meta.fields: name = capfirst (field.verbose_name) value = getattr (instance, field.name) print ('% s:% s '% (nume, valoare))
După cum putem vedea, folosim clasa _poartă în cadrul căruia știm deja că este stocată lista câmpurilor definite în atribut câmpuri.
Cheile principale
Un punct cu care trebuie să ne ocupăm este cel al cheilor primare, deoarece știm că aceste modele sunt reprezentări ale structurilor care intră în baza noastră de date, deoarece fiecare înregistrare trebuie să fie unică, trebuie să definim o cheie primară, adică un cod sau un identificator unic că vă anunțăm ce este fiecare înregistrare.
În programarea web, cheia primară este de obicei un câmp auto-numeric în care este stocat un număr corelativ cu fiecare înregistrare inserată.
Pentru a rezolva acest lucru Django generează automat acest câmp atunci când generează un model și nu specifică o cheie primară.
Creați un model și obțineți definițiile
Din moment ce cunoaștem teoria din spatele câmpurilor dintr-un model de Django să vedem cum creăm unul cu mai multe câmpuri și apoi să vedem cum să le obținem definițiile.
În următoarea imagine avem modelul Produselor creat:
Definim fiecare câmp ca o instanță de modele folosind câmpuri și atributele lor, de exemplu, spunem câmpului sku că este modele.CharField adică este un câmp de caractere alfanumerice, în interior îi specificăm lungimea maximă și numele detaliat, care este numele care va fi văzut la imprimarea acestuia în aplicație.
Odată ce avem modelul nostru să vedem cum trece prin Django, acordăm o atenție specială acestui lucru fără a fi creat cheia primară Django creează câmpul ID cu care ne vom identifica înregistrarea:
Cu aceasta terminăm acest tutorial, având cunoștințele necesare pentru a ști ce se întâmplă atunci când definim câmpurile într-un model și cum ar trebui să o facem.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv