VEILLE TECHNOLOGIQUE – Projet DJANGO , la base de données
Article précédentVEILLE TECHNOLOGIQUE – DJANGO, Bugfix v5.0.1 et v4.2.9Article suivant Stage 2e année : Alchimie Du Partage
Dans cet article, nous allons apprendre à créer nos modèles pour notre base de données, afin de créer nos tables pour notre forum. Pour ce faire, nous allons suivre le MCD suivant.
« Un article est créé par un seul user, mais un user peut créer plusieurs articles différents. Un article ne possède aucun ou plusieurs commentaires et un commentaire est créé par un seul user »
Afin de créer les modèles de nos tables pour notre base de données, nous allons aller dans notre application Base créer dans l’article précèdent et plus précisément dans le fichier models.py .
Pour nous aider dans la création de nos modèles Django possède plusieurs types de champs que l’on peut utiliser, voici une petite liste d’entre elles :
CharField
: Champ texte limité à un certain nombre de caractères.TextField
: Champ texte pouvant contenir une quantité variable de texte.IntegerField
: Champ pour stocker des nombres entiers.FloatField
: Champ pour stocker des nombres à virgule flottante.BooleanField
: Champ pour stocker des valeurs booléennes (True/False).DateTimeField
: Champ pour stocker des dates et heures.EmailField
: Champ pour stocker des adresses e-mail.
.ForeignKey
: Champ pour établir une relation de clé étrangère vers un autre modèle.Il en existe bien d’autre que l’on peut retrouver dans la documentation de Django.
Pour créer nos modèles nous devons créer des Class de la manière suivante , voici un exemple pour notre table user :
Comme vous pouvez le voir, on crée une Class en l’occurrence la class User ici qui hérite de la class Model qui va nous permettre d’utiliser les champs listés plus haut. Et ensuite dans notre classe, nous ajoutons les données que nous avons besoin avec les champs qui correspondent.
Voici ce que donne le fichier models.py une fois que tous les modèles de notre MCD ont été réalisés :
Maintenant que nos modèles sont prêts, nous avons besoin de faire une migration afin de créer les tables. Pour ce faire, on utilise la commande suivante :
python .\manage.py makemigrations Base
Une fois la commande réalisée, voici ce que nous devons avoir :
On peut voir sur la capture d’écran que la migration a bien été créée avec nos modèles réalisés précédemment.
Avant de migrer totalement tout ce que nous avons ajouté, nous pouvons vérifier si les commandes SQL sont valides nous pouvons utiliser la commande suivante :
python .\manage.py sqlmigrate Base 0001
Voici le résultat :
Une fois les vérifications faites, nous allons effectuer la migration afin d’appliquer tous les ajouts que nous avons faits. Voici la commande à faire et son résultat :
python .\manage.py migrate
Comme nous l’indique la console, la migration a bien été effectuée, on peut vérifier cela directement dans la base de données grâce à une application graphique qui permet de lire la base de données pour mon cas, ça sera Beekeeper Studio.
On peut voir sur la capture que les 3 tables ont bien été créées dans la base de données de notre projet (encadré en vert) Dans notre prochain article nous verrons comment créer un formulaire pour ajouter des données dans nos tables et comment utiliser ces données.