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)