Les modèles dans Django sont la seule véritable source d'informations sur vos données. Ils contiennent les champs et comportements essentiels des données que vous stockez. Généralement, chaque modèle dans Django correspond à une seule table de base de données.
Les modèles sont un élément crucial lorsqu'il s'agit de développement avec Django. Ils servent de couche intermédiaire entre la base de données et les vues. Ils sont utilisés pour structurer et manipuler les données de votre base de données.
Pour créer un modèle dans Django, vous devez définir une classe qui hérite de django.db.models.Model. Chaque attribut de classe représente un champ de base de données. Django créera ensuite une table pour ce modèle dans la base de données avec des colonnes correspondant aux attributs du modèle.
Par exemple, si vous créez un système de blog, vous pourriez avoir un modèle de publication comme celui-ci :
Dans cet exemple, le modèle de publication comporte trois champs : titre, contenu et pub_date. Le titre est un champ de caractères d'une longueur maximale de 200, le contenu est un champ de texte et pub_date est un champ datetime.
Django prend en charge tous les types courants de champs de base de données : champs de texte, champs date/heure, champs entiers, champs numériques décimaux, champs booléens, etc. De plus, Django prend également en charge les champs de relation tels que ForeignKey, ManyToManyField et OneToOneField.
Une fois que vous avez défini vos modèles, Django fournit une API de base de données puissante et intuitive pour interagir avec vos données. Vous pouvez créer, récupérer, mettre à jour et supprimer des enregistrements à l'aide de cette API. De plus, Django fournit également une interface d'administration générée automatiquement qui vous permet d'interagir avec vos données.
Par exemple, pour créer une nouvelle publication, vous pouvez procéder comme suit :
Pour récupérer toutes les publications, vous pouvez procéder comme suit :
Pour mettre à jour une publication, vous pouvez procéder comme suit :
Pour supprimer une publication, vous pouvez procéder comme suit :
De plus, l'API de base de données de Django prend en charge les requêtes complexes telles que les requêtes de jointure, les requêtes d'agrégation, etc.
En bref, les modèles dans Django constituent un moyen puissant et flexible de travailler avec vos données. Ils fournissent une couche d'abstraction sur la base de données, vous permettant de vous concentrer sur la logique métier plutôt que sur les détails de mise en œuvre de la base de données.