15.1 Modèles dans Django : Introduction à Django
Django est un framework de haut niveau, écrit en Python, qui encourage le développement rapide d'applications Web propres et pragmatiques. Il est conçu pour aider les développeurs à faire passer leurs applications du concept à la réalisation le plus rapidement possible. L'une des principales fonctionnalités de Django est son système de modèles, qui est un composant essentiel pour créer des applications Web robustes et évolutives.
Concept de modèle dans Django
Dans Django, un modèle est la représentation d'un objet de base de données. Il s'agit d'une description de la manière dont les données doivent être stockées et manipulées. Chaque modèle dans Django est une classe Python qui hérite de django.db.models.Model, et les attributs de la classe représentent les champs de la base de données.
Les modèles sont utilisés pour créer, récupérer, mettre à jour et supprimer des enregistrements dans votre base de données à l'aide de Django ORM (Object-Relational Mapping). L'ORM de Django vous permet d'interagir avec votre base de données comme si vous écriviez du Python pur.
Créer un modèle dans Django
Pour créer un modèle dans Django, vous devez d'abord définir une classe qui hérite de django.db.models.Model. Ensuite, vous définissez les champs de votre modèle. Chaque champ est représenté par une instance d'une classe Field - par exemple, CharField pour les champs de caractères et DateTimeField pour les dates et heures. Lors de l'instanciation d'un champ, vous pouvez spécifier divers attributs. Par exemple, vous pouvez utiliser l'attribut 'max_length' pour limiter la longueur maximale d'un CharField.
livre de classe (modèles.Modèle):
titre = models.CharField(max_length=200)
publication_date = models.DateTimeField()
Une fois le modèle défini, Django créera une table de base de données pour ce modèle. Le nom de la table est le nom du modèle, en minuscules.
Manipulation de modèles dans Django
Avec les modèles définis, vous pouvez utiliser l'ORM Django pour créer, récupérer, mettre à jour et supprimer des enregistrements dans votre base de données. Pour créer un nouvel enregistrement, vous instanciez un nouveau modèle et appelez la méthode save().
book = Book(title='Le Livre Django', publication_date=datetime.now())
livre.save()
Pour récupérer des enregistrements, vous utilisez l'attribut objets du modèle, qui est un Manager. Le Manager est une interface à travers laquelle les opérations de base de données sont fournies. Vous pouvez utiliser des méthodes comme get() et filter() pour récupérer des enregistrements.
book = Book.objects.get(title='Le Livre Django')
livres = Book.objects.filter(publication_date__year=2020)
Pour mettre à jour un enregistrement, vous modifiez les attributs du modèle et appelez la méthode save(). Pour supprimer un enregistrement, vous appelez la méthode delete().
book.title = 'Le livre Django : deuxième édition'
livre.save()
livre.delete()
En bref, les modèles dans Django sont un outil puissant pour gérer les bases de données. Ils vous permettent d'interagir avec votre base de données comme si vous écriviez du Python pur et constituent un moyen pratique de définir la structure de vos données. Avec les modèles Django, vous pouvez vous concentrer sur l'écriture de votre code au lieu de vous soucier des bizarreries de votre base de données.