0% ont trouvé ce document utile (0 vote)
3 vues22 pages

Module 03

Ce module sur Django aborde les modèles et l'ORM, permettant de créer des bases de données et d'effectuer des opérations CRUD. Il explique les concepts de modèles, migrations, types de champs, et relations entre tables, ainsi que l'utilisation de l'ORM pour manipuler les données avec Python. Le module se conclut par la mise en œuvre d'un projet de gestion des ressources humaines, rendant le projet fonctionnel.

Transféré par

programmeur235
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues22 pages

Module 03

Ce module sur Django aborde les modèles et l'ORM, permettant de créer des bases de données et d'effectuer des opérations CRUD. Il explique les concepts de modèles, migrations, types de champs, et relations entre tables, ainsi que l'utilisation de l'ORM pour manipuler les données avec Python. Le module se conclut par la mise en œuvre d'un projet de gestion des ressources humaines, rendant le projet fonctionnel.

Transféré par

programmeur235
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Django - Module 3

Modèles et ORM

Brahim Issa Hassaballah

1er mai 2026

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 1 / 22


Objectifs du module

Comprendre les modèles Django


Comprendre l’ORM
Créer une base de données
Effectuer des opérations CRUD
Gérer les relations entre tables

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 2 / 22


Définition : Base de données

Une base de données est un système de stockage structuré


Elle permet de stocker et manipuler des données
Exemple :
employés
salaires
départements

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 3 / 22


Définition : Modèle (Model)

Un modèle représente une table dans la base de données


Chaque attribut = colonne
Chaque objet = ligne

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 4 / 22


Définition : ORM

ORM = Object Relational Mapping


Permet de manipuler la base de données avec Python
Remplace SQL par du code Python

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 5 / 22


Avantages de l’ORM

Pas besoin d’écrire SQL


Code portable
Sécurité contre injection SQL
Gain de temps

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 6 / 22


Définition : Migration

Migration = mise à jour de la base de données


Permet de créer/modifier les tables

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 7 / 22


Commandes importantes

python manage . py makemigrations


python manage . py migrate

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 8 / 22


Types de champs

CharField : texte court


IntegerField : entier
DateField : date
EmailField : email
ForeignKey : relation

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 9 / 22


Relations entre tables

OneToOne : 1 à 1
ForeignKey : plusieurs vers 1
ManyToMany : plusieurs à plusieurs

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 10 / 22


TP : Gestion RH (Base de données)

Objectif :
Créer les tables :
Département
Employé

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 11 / 22


Étape 1 : [Link]

from django . db import models

class Departement ( models . Model ) :


nom = models . CharField ( max_length =100)

def __str__ ( self ) :


return self . nom

class Employe ( models . Model ) :


nom = models . CharField ( max_length =100)
email = models . EmailField ()
salaire = models . IntegerField ()
departement = models . ForeignKey ( Departement ,
on_delete = models . CASCADE )

def __str__ ( self ) :


return self . nom

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 12 / 22


Explication

[Link] : classe de base Django


CharField : texte
ForeignKey : relation
CASCADE : suppression liée

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 13 / 22


Étape 2 : migrations

python manage . py makemigrations


python manage . py migrate

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 14 / 22


Définition : CRUD

Create : créer
Read : lire
Update : modifier
Delete : supprimer

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 15 / 22


CREATE

dep = Departement . objects . create ( nom =" Informatique ")


Employe . objects . create (
nom =" Ali " ,
email =" ali@mail . com " ,
salaire =500 ,
departement = dep
)

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 16 / 22


READ

Employe . objects . all ()


Employe . objects . filter ( nom =" Ali ")

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 17 / 22


UPDATE

emp = Employe . objects . get ( id =1)


emp . salaire = 800
emp . save ()

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 18 / 22


DELETE

emp = Employe . objects . get ( id =1)


emp . delete ()

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 19 / 22


Managers personnalisés

Permet de créer des requêtes spécifiques


Exemple :
filtrer les employés avec salaire élevé

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 20 / 22


Exemple Manager

class EmployeManager ( models . Manager ) :


def hauts_salaires ( self ) :
return self . filter ( salaire__gt =1000)

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 21 / 22


Conclusion Module 3

Base de données créée


ORM maı̂trisé
CRUD opérationnel
Projet RH devient fonctionnel

Brahim Issa Hassaballah Django - Module 3 1er mai 2026 22 / 22

Vous aimerez peut-être aussi