Créer des lignes
Fait partie de la section Modèles et interface d’administration du Journey Django de Coddy. Leçon 7 sur 23.
Votre étagère a besoin de nouveaux livres, et vous n’écrirez jamais de SQL, le langage parlé par les bases de données : l’ORM de Django transforme les appels Python en SQL. Chaque modèle a un gestionnaire, Book.objects, qui vous permet d’accéder à sa table. Dans ce chapitre, vous écrivez du code ORM dans explore.py. Exécutez le script pour ajouter neuf livres, puis lancer le fichier comme le ferait python manage.py shell < explore.py ; ce qu’il affiche apparaît dans la Console.
Book.objects.create(title="Beloved", author="Toni Morrison", year=1987, price="13.00")create() crée une ligne et l’enregistre en une seule étape ; tout champ omis prend sa valeur par défaut. Voici la même chose en deux étapes, avec une modification entre les deux :
silmarillion = Book(title="The Silmarillion", author="J.R.R. Tolkien", year=1977, price="10.50")
silmarillion.is_read = True
silmarillion.save()Tant que save() n’est pas exécutée, l’objet existe uniquement en Python et son id vaut None.
Défi
FacileDans explore.py, au-dessus de print :
- Ajoute
Project Hail MarydeAndy Weir, paru en 2021, au prix de12.99, dans la catégorie science-fiction, en une seule étape. - Ajoute
Klara and the SundeKazuo Ishiguro, paru en 2021, au prix de11.50, en créant unBooket en l’enregistrant.
Clique sur Exécuter. La console affiche 11 books on the shelf, et l’onglet Données répertorie les deux nouvelles lignes.
Essayez vous-même
from books.models import Book
# Ajoutez les deux livres ici.
print(Book.objects.count(), "books on the shelf")
Toutes les leçons de Modèles et interface d’administration
2Interroger avec l’ORM
Créer des lignesAll et GetFiltres et recherchesCompter les lignesTrier les lignesMettre à jour et supprimer3Des pages issues de la base de données
Une liste issue de la base de donnéesUne page pour chaque livreEntraînez-vous par vous-même : Playground Django