Ci-dessous, les différences entre deux révisions de la page.
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 08:54] marclebrun [Migrations] |
— (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 | | | ||
- | | ... | | | ||
- | |||
- | ===== Migrations ===== | ||
- | |||
- | Créer les migrations : | ||
- | |||
- | <code bash> | ||
- | python manage.py makemigrations | ||
- | </code> | ||
- | |||
- | Appliquer les migrations : | ||
- | |||
- | <code bash> | ||
- | </code> | ||