Table des matières
Une fois que nous avons une classe de modèle, nous devons la remplir avec les différents champs que nous allons vouloir y gérer, car nous avons sûrement déjà notre définition de ce qu'elle portera dans la base de données, comment chacun doit se comporter, etc. Ensuite, nous devons faire cela exprimé dans notre application.Pour définir les champs, nous avons une classe Des champs trouvé dans des modèles, c'est celui qui nous permet d'indiquer le type de champ qui sera celui que nous placerons dans notre classe modèle.
Définition des champs
Lors de la manipulation des modèles, Django est confronté au défi de localiser et d'utiliser les champs définis dans lesdits modèles, pour cela, lorsqu'un modèle est créé et que les différents champs y sont ajoutés, un enregistrement ou une trace de l'ordre dans lequel ils ont été créés est conservé, grâce à le compte de la création d'attributs.
Une fois Django identifie les champs, ceux-ci sont stockés dans une liste dans l'attribut des champs qui appartient à l'attribut _but de la classe de modèle générée.
Grâce à ce qui est décrit ci-dessus Django Vous pouvez parcourir cette liste pour pouvoir obtenir les informations dont vous avez besoin dans les différents champs, avec ces informations. Django vous pouvez créer les formulaires et les différentes sorties requises par les modèles.
Voyons le code suivant qui nous permet d'itérer et d'obtenir tous les champs des différents modèles d'un projet sans avoir besoin de spécifier un modèle particulier :
de django.utils.text import capfirst def get_values (instance): pour le champ dans instance._meta.fields: name = capfirst (field.verbose_name) value = getattr (instance, field.name) print ('% s:% s' % (nom, valeur))
Comme nous pouvons le voir, nous utilisons la classe _but dans lequel on sait déjà que la liste des champs définis dans l'attribut est stockée des champs.
Clés primaires
Un point que nous devons traiter est celui des clés primaires, car nous savons que ces modèles sont des représentations de structures qui vont dans notre base de données, comme chaque enregistrement doit être unique, nous devons définir une clé primaire, c'est-à-dire un code ou un identifiant unique. que nous vous informions de chaque enregistrement.
Dans la programmation Web, la clé primaire est généralement un champ numérique automatique dans lequel un numéro corrélatif est stocké avec chaque enregistrement inséré.
Pour gérer ça Django génère automatiquement ce champ lors de la génération d'un modèle et de la non-spécification de clé primaire.
Créer un modèle et obtenir les définitions
Puisque nous connaissons la théorie derrière les champs dans un modèle de Django voyons comment en créer un avec plusieurs champs et ensuite comment obtenir leurs définitions.
Dans l'image suivante, nous avons créé le modèle Products :
Une fois que nous avons notre modèle, voyons comment il se déroule dans Django, faites particulièrement attention à cela sans avoir créé la clé primaire Django crée le champ ID avec lequel nous identifierons notre enregistrement :