Uso de Managers en Django para Consultas de Base de Datos
Clase 12 de 32 • Curso de Django
Resumen
Los managers en Django son una herramienta poderosa que permite realizar diversas acciones dentro de las listas de objetos de un modelo, como contar, traer el primero o el último elemento, crear nuevos registros y mucho más.
Para contar los autores que están creados, utilizamos el manager por defecto llamado objects
y el método count
.
author_count = Author.objects.count()
print(f"Hay {author_count} autores.")
¿Cómo traer el primer y último autor creado?
Para obtener el primer y último autor, podemos usar los métodos first
y last
del manager objects
.
primer_autor = Author.objects.first()
print(f"El primer autor es: {primer_autor.name}")
ultimo_autor = Author.objects.last()
print(f"El último autor es: {ultimo_autor.name}")
¿Cómo crear nuevos autores con el manager?
Podemos crear un nuevo autor directamente en la base de datos utilizando el método create
del manager.
nuevo_autor = Author.objects.create(name="Luis Martínez", birthday="1980-01-01")
print(f"Nuevo autor creado: {nuevo_autor.name}")
¿Cómo traer una lista de autores?
Para obtener una lista de todos los autores, utilizamos el método all
del manager, que nos devuelve un queryset.
autores = Author.objects.all()
for autor in autores:
print(autor.name)
¿Cómo filtrar autores?
Podemos filtrar autores utilizando el método filter
, que permite especificar condiciones basadas en los campos del modelo.
autores_filtrados = Author.objects.filter(name="Pydanny")
for autor in autores_filtrados:
print(f"Autor filtrado: {autor.name}")
¿Cómo borrar un autor filtrado?
Primero, filtramos el autor que queremos borrar y luego aplicamos el método delete
.
Author.objects.filter(name="Luis Martínez").delete()
print("Autor borrado.")
¿Cómo ordenar autores?
Podemos ordenar los autores utilizando el método order_by
.
autores_ordenados = Author.objects.order_by('name')
for autor in autores_ordenados:
print(autor.name)