Sommaire

Les modèles

Pour Django, les modèles (Models) sont les seuls et uniques points d’accès à vos informations, la seule source de données. Ils contiennent tous les champs de vos tables et décrivent le comportement des objets que vous stockez. D’une façon générale, chaque modèle est associé à une seule table dans la base de données, ce à la différence de certains ORM.

Les principes de base :

  • Chaque modèle est une classe Python dérivée de la classe django.db.models.Model.

  • Chaque attribut de la classe model est représenté par une colonne dans une table de la base de données.

Grâce à cela, Django va pouvoir automatiser tous les accès à la base.

Prenons l’exemple suivant d’un modèle décrivant un employé, caractérisé par son nom et son prénom :

from django.db import models 
 
class Employe(models.Model): 
    nom = models.CharField(max_length=25)  
    prenom = models.CharField(max_length=25)

Définitions

Nom et prénom sont des champs du modèle (fields). Ces champs sont traduits sous la forme d’attributs (attributes) de la classe Python et seront associés à une colonne d’une table de la base de données.

Ainsi, la création de ce modèle sera traduite par Django pour la base de données par la commande SQL suivante :

CREATE ...