Modelos

Creación y uso de modelos

Base de datos

Trabajando con modelos

  • archivo models.py
  • Argumentos comunes
  • Tipos comunes de campos

Gestión de modelos

  • Creación y modificación de registros
  • Búsqueda

Tarea: Definir los modelos de la biblioteca

  • Género
  • Book
  • Bookinstance
  • Autor

Migraciones

Modelo Language

Fixtures

  • Carga de datos iniciales
  • En carpeta fixtures de la aplicación

Copia el archivo catalogo.json en locallibrary/catalog/fixtures/ y ejecuta

$ python manage.py loaddata catalogo.json```   

Usando el shell de Django

https://docs.djangoproject.com/en/4.1/intro/tutorial02/#playing-with-the-api Ejecuta:

$ python manage.py shell

Búsquedas

>>> from catalog.models import Book, Author, Genre
# Cuántos libros hay?
>>>  Book.objects.all().count()
# Libro con el id 1
>>> Book.objects.get(id=1)

# Compara los resultados
>>> Book.objects.filter(title='The Idiot')
>>> Book.objects.filter(title__icontains='idiot')
>>> Book.objects.filter(title='The idiot')
>>> Book.objects.filter(title__iexact='The idiot')

>>> libro = Book.objects.filter(title='The Idiot')[0]
>>> libro.title
>>> libro.author
>>> libro.author.last_name
>>> libro.summary
>>> libro.isbn
>>> libro.genre.all()

Creación de registros

>>> from catalog.models import Book, Author, Genre
>>> autor = Author()
>>> autor.first_name = 'xxxxxxxx'
>>> autor.last_name = 'yyyyyyyy'
>>> autor.save()
>>> autor.id
>>> libro = Book()
>>> libro.title = 'xxxxxxxxx'
>>> libro.author = autor
>>> libro.save()
>>> libro.id
# Crea y asigna un nuevo género
# por ejemplo: 'Fantasía'
>>> libro.genre.add(Genre.objects.get(name='Fantasía'))

Comprueba que se han creado los registros en la base de datos haciendo consultas.

Última modificación November 1, 2022: update (deb3b8f)