Menu
CoddyTech

Crear filas

Parte de la sección Modelos y el panel de administración del Journey de Django de Coddy. Lección 7 de 23.

Tu estantería necesita libros nuevos, y nunca escribirás SQL, el lenguaje que hablan las bases de datos. Cada modelo tiene Book.objects, su administrador: sus métodos leen y escriben en la tabla. El ORM (mapeador objeto-relacional) de Django convierte esas llamadas en SQL. En este capítulo escribirás código ORM en explore.py. Al ejecutar, se añaden nueve libros y luego se ejecuta el archivo como lo haría python manage.py shell < explore.py; lo que imprime aparece en la Consola.

Book.objects.create(title="Beloved", author="Toni Morrison", year=1987, price="13.00")

create() crea una fila y la guarda en un solo paso; un campo que omitas toma su valor predeterminado. Lo mismo en dos pasos, con un cambio entre ellos:

silmarillion = Book(title="The Silmarillion", author="J.R.R. Tolkien", year=1977, price="10.50")
silmarillion.is_read = True
silmarillion.save()

Hasta que se ejecuta save(), el objeto solo existe en Python y su id es None.

challenge icon

Desafío

Fácil

En explore.py, añade dos libros encima de print.

  • Con create(): Project Hail Mary de Andy Weir, año 2021, precio 12.99, ciencia ficción. Guarda el valor del género, scifi, no su etiqueta; tómalo de tu clase Genre.
  • Creando un Book y llamando a save(): Klara and the Sun de Kazuo Ishiguro, año 2021, precio 11.50.

Pulsa Ejecutar: la consola muestra 11 books on the shelf.

Pruébalo tú mismo

from books.models import Book

# Agrega los dos libros aquí.


print(Book.objects.count(), "books on the shelf")

Todas las lecciones de Modelos y el panel de administración

Practica por tu cuenta: Playground de Django