Menu
CoddyTech

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.

challenge icon

Défi

Facile

Dans explore.py, au-dessus de print :

  • Ajoute Project Hail Mary de Andy Weir, paru en 2021, au prix de 12.99, dans la catégorie science-fiction, en une seule étape.
  • Ajoute Klara and the Sun de Kazuo Ishiguro, paru en 2021, au prix de 11.50, en créant un Book et 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

Entraînez-vous par vous-même : Playground Django