Premiers pas avec les modèles django
Qu’est-ce que les modèles Django ?
Un modèle Django
fait généralement référence à une table dans la base de données, les attributs de ce modèle deviennent la colonne de cette table. Dans un exemple plus concret, vous créeriez un modèle pour n’importe quelle entité de votre application et stockeriez ses attributs avec des champs django
qui gère automatiquement les conversions de types de données pour la base de données que vous utiliseriez.
L’une des grandes fonctionnalités de Django est son ORM
, vous n’avez pas besoin d’écrire de requête de base de données, et même il est recommandé de ne PAS en écrire une lorsque vous utilisez Django. ORM convertit vos modèles Django
et toutes les opérations que vous effectuez avec les requêtes de base de données correspondantes. Cela signifie que toutes les manipulations que vous avez à faire, le sont maintenant avec les objets python créés à partir de ce modèle, et toutes les bases de données sous-jacentes seraient prises en charge par ORM
de Django. Il y a un tas de réglages et de personnalisations que vous pourriez faire avec.
ORM
de Django prend en charge toutes les principales bases de données telles que Postgres
, MySQL
, sqlite3
et d’autres bases de données d’entreprise fournies avec les pilotes appropriés. Cela signifie également que vous n’avez pas à vous soucier de la base de données sous-jacente que vous utilisez, ou même si vous voulez passer d’une base de données à une autre, vous pouvez le faire sans changer une seule ligne de votre logique d’application, changez simplement la chaîne de base de données à partir de settings.py
, videz les anciennes données et vous devriez être prêt à partir.
Exemple de modèle Django
Un exemple simple serait pour une application de gestion de bibliothèque ; vous auriez 2 modèles, par exemple, student
et book
dans models.py:
from django.db import models
class student(models.Model):
roll_no = models.IntegerField(primary_key=True)
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
Ici, nous avons donné à roll_no une clé primaire pour le modèle étudiant, mais même si nous ne donnons de clé primaire à aucun attribut, Django attribuerait automatiquement un attribut appelé id
, qui serait automatiquement attribué et incrémenté lors de la création de nouvelles rangées.
Maintenant, vous pouvez simplement importer ce modèle dans vos “vues” ou dans un projet et interagir avec lui en créant simplement un objet de ce modèle.
Django propose de nombreux Champs intégrés, ou vous pouvez même créer les vôtres.
Django prend également en charge les relations entre les modèles, many-to-many
, one-to-one
, many-to-one
.
Doc détaillé de Django pour Modèles
Installation ou configuration
Généralement, chaque modèle correspond à une seule table de base de données. Nous écrivons le type de champ, les limites, la taille, etc. dans le fichier model.py de l’application. Cela créera la table et les champs nécessaires dans la base de données.
''' models.py '''
from django.db import models
class table_name(models.Model):
field_name= models.field_type(conditions)
Ensuite, nous devons informer Django dans settinggs.py
de l’application qui utilisera ce modèle.
''' settinggs.py ''''
INSTALLED_APPS = [
#...
'app_name',
#... ]
On a presque terminé. Ensuite, nous devons migrer cette application afin que les tables de base de données soient créées. Dans le terminal, tapez ce qui suit :
python manage.py migrate
migrate
créera les bases de données nécessaires en vérifiant le app_installed dans le setting.py
Par makemigrations
, Django connaîtra les modifications apportées aux modèles.
python manage.py makemigrations
C’est ça. Votre base de données est créée et vous pouvez voir le schéma dans le terminal
python manage.py sqlmigrate app_name 0001