Outils pour utilisateurs

Outils du site


python:django:modeles

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
python:django:modeles [2023/11/12 09:08]
marclebrun [Définition des modèles]
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Modèles ====== 
- 
-===== Définition des modèles ===== 
- 
-Dans le module **models.py** d'une application : 
- 
-<code python> 
-from django.db import models 
- 
-class Author(models.Model):​ 
-    name = models.CharField(max_length=100,​ unique=True) 
-    ​ 
-class Book(models.Model):​ 
-    title = models.CharField(max_length=200) 
-    quantity = models.IntegerField(default = 1) 
-    author = models.ForeignKey(Author,​ on_delete=models.DO_NOTHING) 
-</​code>​ 
- 
-Paramètres : 
-| blank       ​| ​           | 
-| default ​    ​| ​           | 
-| max_length ​ |            | 
-| null        |            | 
-| primary_key | True/False | 
-| unique ​     | True/False | 
-| ...         ​| ​           | 
- 
-Types : 
-| BooleanField ​ | | 
-| CharField ​    | | 
-| DateField ​    | | 
-| DateTimeField | | 
-| EmailField ​   | | 
-| FloatField ​   | | 
-| ForeignKey ​   | Clé étrangère : Jointure vers un autre modèle | 
-| IntegerField ​ | | 
-| ...           | | 
- 
-Valeurs pour **on_delete** : 
-| models.CASCADE ​   | | 
-| models.DO_NOTHING | | 
-| ...               | | 
- 
-===== Administration ===== 
- 
-Référencer le modèle dans l'​administration de Django. 
- 
-Dans le module **settings.py** du projet : 
- 
-<code python> 
- 
-</​code>​ 
- 
- 
-===== Migrations ===== 
- 
-Créer les migrations : 
- 
-<code bash> 
-python manage.py makemigrations [nom_application] 
-</​code>​ 
- 
-Appliquer les migrations : 
- 
-<code bash> 
-python manage.py migrate 
-</​code>​ 
- 
-===== Requêtes ===== 
- 
-Lire tous les enregistrements et accéder aux champs : 
- 
-<code python> 
-from .models import Book 
- 
-books = Book.objects.all() 
- 
-for book in books: 
- 
-    # lire les propriétés de la classe Book 
-    titre = book.title 
-    qte_stock = book.quantity 
-    ​ 
-    # la jointure avec la classe Author se fait automatiquement 
-    nom_auteur = book.author.name 
-</​code>​ 
- 
  
python/django/modeles.1699780086.txt.gz · Dernière modification: 2023/11/12 09:08 par marclebrun