Un QuerySet en Django es una colección de datos extraída de la base de datos, basada en un modelo determinado. Los QuerySets te permiten realizar consultas a la base de datos de manera eficiente y flexible, filtrando, ordenando y limitando los resultados de acuerdo a tus necesidades, sin escribir SQL directamente.
Un QuerySet representa un conjunto de objetos extraídos de la base de datos, generalmente asociados a un modelo. Estos conjuntos se generan mediante métodos del manager objects
de un modelo y permiten aplicar filtros, ordenar los resultados y realizar operaciones como obtener una cantidad específica de registros o combinaciones de consultas.
1. Obtener todos los objetos:
personas = Persona.objects.all()
Esto retorna todos los objetos del modelo Persona.
2. Filtrar objetos:
personas_mayores = Persona.objects.filter(edad__gte=18)
Filtra los objetos donde la edad es mayor o igual a 18.
3. Obtener un único objeto:
juan = Persona.objects.get(nombre="Juan")
Retorna una única instancia que cumple con el criterio dado. Si no existe, genera un error.
4. Ordenar resultados:
personas_ordenadas = Persona.objects.order_by('nombre')
Ordena los objetos por el campo nombre.
5. Limitar el número de resultados:
primeras_cinco = Persona.objects.all()[:5]
Retorna solo los primeros 5 objetos.
1. Excluir objetos:
no_mayores = Persona.objects.exclude(edad__gte=18)
2. Contar objetos:
total_personas = Persona.objects.count()
3. Combinación de filtros:
personas_filtro = Persona.objects.filter(edad__gte=18).exclude(nombre="Pedro")
Para más información sobre los QuerySets, puedes consultar la documentación oficial de Django.
Jorge García
Fullstack developer